В «View Did Load» я пытаюсь определить размер представления, чтобы я мог соответствующим образом определить размер подпредставления. Я хочу, чтобы он всегда растягивался по длине и ширине экрана независимо от ориентации.
quest *anview = [[quest alloc] initWithFrame: CGRectMake(50, 50, self.view.frame.size.width-100, self.view.frame.size.height-100)];
self.aquest=anview;
Но это всегда возвращает ширину 748 и высоту 1024, когда это должно возвращать противоположное, когда я в ландшафте. Я знаю, что вы не можете получить ориентацию на симуляторе, но это происходит и на устройстве. Когда я получу ориентацию:
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
NSLog(@"device orientation:%d",orientation);
Я правильно понял ориентацию, но этот оператор журнала возвращает 748/1024 независимо от ориентации.
NSLog(@"size w:%f",self.view.frame.size.width);
NSLog(@"size h:%f",self.view.frame.size.height);
Кто-нибудь знает, что происходит? Это связано со мной, помещая это в метод viewdidLoad? Должен ли я положить его в viewWillAppear или viewDidAppear?