почему вид в ландшафтном режиме все еще показывает ширину меньше высоты? - PullRequest
1 голос
/ 26 июля 2010

попробуйте это,

скажем, у вас есть простое приложение для iPhone в ландшафтном режиме, например, простое приложение viewcontroller.

также раскомментируйте автоматическое вращение в файле viewcontroller .m, например

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
  NSLOG(@"width:%f,height:%f",self.view.frame.size.width,self.view.frame.size.height);
  return YES;
}

после этого просто запустите вещь на симуляторе iphone и попробуйте повернуть ее командой + left или command + right.

Я ожидаю, что получу что-то вроде width: 320.000, height: 480.000когда в портретной и ширине: 480.000, высота: 320.000 в ландшафтном режиме.

Вместо этого я всегда получаю ширину: 320.000, высоту: 480.000 независимо от того, какая фактическая ориентация.

, поэтому мой вопросэто то, что я должен автоматически получить размер представления правильно?

1 Ответ

0 голосов
/ 26 июля 2010

Попробуйте получить ширину / высоту в:

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation 

{
  NSLog(@"view frame: %@",NSStringFromCGRect(self.view.frame));
}

Кроме того, вашему представлению необходимо установить UIAutoresizingMasks для изменения размера при повороте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...