Я реализую сдерживание UIViewcontroller. В приведенном ниже примере я установил размер кадра дочерних контроллеров в корневом контроллере. Дочернее представление отображается в размере, который я установил, однако, когда я проверяю его границы в контейнере 1, он сообщает о размере, отличном от размера, который я установил.
Корневой контроллер (контейнер)
- (void)viewDidLoad
{
[super viewDidLoad];
self.containA = [[Container1 alloc]init];
self.containB = [[Container2 alloc]init];
self.containA.view.frame = CGRectMake(50, 50,50, 50);
self.containB.view.frame = CGRectMake(50, 50, 300, 300);
[self addChildViewController:self.containA];
[self addChildViewController:self.containB];
[self.view addSubview:self.containA.view];
Контейнер1
-(void)viewDidLoad {
[super viewDidLoad];
UIView *view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
//[self.view addSubview:view];
self.view = view;
self.view.backgroundColor = [UIColor redColor];
[view release];
NSLog(@"view dims %f %f",self.view.bounds.size.width,self.view.bounds.size.height);
}
Консольный вывод из контейнера 1 размеры просмотра 768.000000 1004.000000
Я думал, что проблема связана с настройкой рамки просмотра на главный экран UIScreen]applicationFrame. Поэтому я удалил весь этот код, чтобы uiview создавался автоматически. Проблема остается..