Изменение ориентации Iphone - PullRequest
       3

Изменение ориентации Iphone

1 голос
/ 17 февраля 2010

Я пытаюсь реализовать функциональность изменения ориентации в моем приложении. Я переопределил - (void) didRotateFromInterfaceOrientation: (UIInterfaceOrientation) fromInterfaceOrientation.

В этом методе я изменяю размер кадра представления таблицы (включая позициюэлементов ячейки), который присутствует в представлении.Детали просмотра таблицы:

  1. Добавлен в представление как [self.view addSubView: tableView] в методе viewDidLoad контроллера представления;
  2. Элемент ячейки (строка) имеет текстовое поле и сегментированный элемент управления.
  3. В табличном представлении есть 10 ячеек, а в альбомном режиме видны только 2 ячейки, а в режиме портрета - 5 ячеек.

Я реализовал скроллер.

Проблема: определенное время при изменении ориентации на режим портрета некоторые сегментированные элементы управления в ячейке не отображаются (вообще не отображаются).

Это происходит, когда я просматриваю последние пару ячеек в ландшафтном режиме.и я меняю ориентацию на режим портрета.

Ответы [ 2 ]

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

Моя песочница Решение простое:

https://github.com/comonitos/programatical_device_orientation

в интерфейсе (файл h):

BOOL повернут;

в реализации (файл m):

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return rotated;
}
- (void) setup 
{
   rotated = YES;
   [[UIDevice currentDevice] setOrientation:UIDeviceOrientationLandscapeLeft];
   rotated = NO;
}
0 голосов
/ 17 февраля 2010

Я думаю, что проблема в настройке вашего кадра. У меня была похожая проблема, когда я вращался от портрета до пейзажа. Попробуйте проверить правильность логики процесса вращения (настройки кадров, положения и т. Д.). для меня эта статья была действительно полезна текст ссылки

для tableView вы можете попробовать установить autoresizingMask в UIViewAutoresizingF FlexibleWidth | UIViewAutoresizingF FlexibleHeight, чтобы увидеть, корректно ли выполняется поворот таблицы.

tableView.autoresizingMask = UIViewAutoresizingF flexWidth | UIViewAutoresizingF flexHeight;

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