2010-09-08 2 views
1

У меня есть приложение, которое состоит из двух частей. В основном, первая часть показывает кучу миниатюр изображений. Когда вы нажимаете миниатюру изображения, полный просмотр этого изображения появляется внутри UIScrollView, заполняя экран, с некоторыми кнопками поверх него для выполнения различных действий.iPhone/iOS SDK: как сделать определенные поисковые роботы?

Я хочу, чтобы главная страница с миниатюрами всегда была в режиме «Портрет». Но я хочу, чтобы два subviews - scrollview, содержащий изображение, и uiview, содержащий кнопки, - чтобы авторотировать, когда пользователь переключает ориентации.

Я пробовал, чтобы контроллер View для основного представления возвращал NO для метода shouldAutorotateToInterfaceOrientation, а затем, когда два контроллера subviews возвращают YES, но затем NOTHING вращается.

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

ответ

1

Как вы представляете прокрутку и кнопки? Строго говоря, они должны управляться одним и тем же контроллером, представленным по модулю над вашим первым контроллером. Система авторотации основывается на том, что, по ее мнению, является «основным» контроллером представлений, который в этом случае - если вы фактически не используете -presentModalViewController:animated:, так как он не похож на вас, остается контроллер, отображающий миниатюры. Другими словами: иметь один контроллер просмотра, настроить вид прокрутки, содержащий полное изображение и кнопки действий, и, когда пользователь нажимает миниатюру в главном представлении, представляет этот контроллер вида.

+0

Ahhhhhh. Это имеет большой смысл. По какой-то причине, несмотря на то, что то, с чем я имею дело, явно модальный интерфейс, мне не приходило в голову использовать модальный контроллер! Я сделаю это. – DanM

+0

Вот и все! Благодарю. – DanM

1

Я думаю, вы можете зарегистрироваться в качестве наблюдателя для этого уведомления, UIApplicationWillChangeStatusBarOrientationNotification

Это уведомление в UIApplication Class Reference. Когда приложение собирается изменить ориентацию своего интерфейса, уведомление отправляется.

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