self.window addSubview работает неправильно - PullRequest
2 голосов
/ 14 октября 2011

Я пытаюсь вызвать новый вид, чтобы перейти поверх текущего. Код в appDelegate.h:

-(void)switchToTransferFundsView {
    if(!objTransferFunds) {

        objTransferFunds = [[TransferFunds alloc]initWithNibName:@"TransferFunds" bundle:nil];
        [self.window addSubview:objTransferFunds.view];
    }

}

Вид действительно появляется, за исключением того, что он не полностью покрывает вид под ним; есть небольшое преобразование. Может кто-нибудь сказать мне, почему?

Ответы [ 3 ]

1 голос
/ 22 марта 2012

Кажется, это «проблема autoResizingMask».

Чтобы быть уверенным, что ваш кадр не изменится, установите UIViewAutoresizingNone в качестве значения для вашего свойства представления autoresizingMask.

Один недостаток этой настройки заключается в том, что ваш вид не будет автоматически регулироваться, например, при повороте.

Для получения дополнительной информации см. Документацию:

http://developer.apple.com/library/ios/documentation/uikit/reference/uiview_class/UIView/UIView.html#//apple_ref/doc/uid/TP40006816-CH3-SW6

0 голосов
/ 02 января 2012

Как упоминал Кришна, вы должны проверить настройки фрейма в инспекторе.

Если это не сработает, вы можете просто использовать обходной путь: учет трансформации.Если ваше представление «перевод средств» смещено вправо от того места, где вы его установили в xib-файле, сдвиньте его для компенсации.

0 голосов
/ 01 декабря 2011

Правильно ли вы установили рамку в редакторе xib?В инспекторе атрибутов установите x, y, ширину и высоту, которые вы хотели бы установить для вашего вида.Если это не помогло, опишите подробнее проблему.

...