2010-01-28 2 views
1

У меня есть вопрос ориентации iphone SDK ...iphone SDK подтаблица/SuperView проблема ориентации

я нажать «холдинг» контроллер представления на navigationController. KeepViewController использует viewDidLoad, чтобы отобразить навигационную панель navigationController и добавить к ней флип-кнопку и селектор для флипбаттона. он затем добавляет subview, используя UIViewAnimationTransitionNone, показывающий UIView, содержащий TableView. Когда щелчок кнопки щелчка, контроллер представления холдинга удаляет загруженное подвью и заменяет другой подвью, также содержащий представление с представлением таблицы, и преобразуется с использованием флип-анимации. Проблема возникает при переворачивании и изменении ориентации. хотя и переворачивание и поворот, кажется, работают сначала, если я переворачиваю в ландшафтном режиме, перевернутое изображение выглядит «обрезанным» до ширины портрета, хотя фактически отображается в пейзаже, вращение затем не фиксирует его, вам нужно откидываться назад, вращать назад к портрету, затем откиньте назад. Похоже, что holdingview не регистрирует изменение ориентации, но я знаю, что это, как я уже реализован

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:nil]; 

на всех 3-х контроллеров зрения и я могу видеть orientationChanged функция вызывается для каждого.

Все три viewcontrollers устанавливают в viewDidLoad автоматического изменения

self.view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; 

и я также реализованы

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
{ 
return YES; 
} 

Кто-нибудь есть какие-либо идеи, что происходит, или что еще более важно то, что я могу сделать, чтобы почини это?

большое спасибо

+1

вы нашли решение еще? Я столкнулся с аналогичной проблемой – Linus

ответ

3

У меня была аналогичная проблема с добавлением подвид. Подсветка была обрезана, когда она была в альбомной ориентации. Я должен был установить кадр подвью, прежде чем добавлять его так, чтобы subview правильно заполнил.

Вот код, который сосредоточил свой вопрос: [subcontroller.view setFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];

+0

Это правильный ответ! У меня есть проект, который добавляет представление, созданное в ландшафтной ориентации в IB, как подвид другого пейзажного представления. Он продолжал «обрезать», но в правильной ориентации. Фактически, все кнопки и метки были в правильном положении, только фон обзора был «обрезан». Повторное определение рамки subview перед добавлением его было решением (и поверьте, я все пробовал!) – mputnamtennessee

Смежные вопросы