Отображать ViewController как PopUpSubview? - PullRequest
0 голосов
/ 07 февраля 2012

У меня есть ViewController с файлами xib, .h, .m.Теперь я хочу отобразить его как popUpView в другом viewController.так что я сделал это ...

Second *view2 = [[Second alloc] initWithNibName:@"Second" bundle:nil];
[view2.view setFrame:CGRectMake(20, 20, 280, 400)];
{self.view addSubview:view2.view];

но проблема здесь в том, что я могу установить фрейм произвольно, но viewController содержит textField и кнопку.Они не добавляются в произвольных позициях в представлении, как некоторые текстовые поля выходят из добавленной рамки обзора.

После некоторого поиска в Google я нахожу это, но этого недостаточно для решения моей проблемы.

Добавление ViewConroller View как подпредставления программно

Как решить эту проблему ...

1 Ответ

0 голосов
/ 08 февраля 2012

Кажется, что вы изменяете рамку вида в вашем контроллере вида, но не обрабатываете перемещение элементов внутри вида.Что вы можете сделать, так это переопределить метод layoutSubviews в представлении, чтобы при смене фрейма текстовые поля сами перемещались.

Вам нужно будет создать фактический подкласс UIView, который будет размещать текстовые поля,

@interface SecondView : UIView{

}

@implementation SecondView{
    - (void) layoutSubviews{
      //self.frame would be to most up-to-date frame that you just set
    }
}

Ваш UIViewController просто создаст представление так,

@interface Second : UIViewController{    
}


@implementation Second{
    - (void) loadView{
        self.view = [[[SecondView alloc] init] autorelease];
    }
}
...