Как заставить элементы управления исчезать на iPad / iPhone в соответствии с рекомендациями интерфейса - PullRequest
1 голос
/ 27 августа 2010

HIG заявляет, что на iPad можно рассмотреть возможность исчезновения элементов управления, аналогично тому, как это делает встроенное фото приложение. Как это достигается? В моем случае у меня есть изображение, занимающее большую часть экрана с панелью вкладок и, возможно, панелью инструментов и, возможно, другими элементами управления. Как мне исчезнуть все, кроме изображения. И вернуть его обратно, если пользователь касается экрана.

Спасибо

Ответы [ 2 ]

2 голосов
/ 27 августа 2010

Хороший вопрос. Есть несколько способов сделать это, поскольку некоторые контроллеры представления могут иметь встроенные методы для сокрытия (например, UINavigationController). Для всего, что является UIView или подклассом, я бы порекомендовал что-то вроде следующего:

   [UIView beginAnimations:nil context:NULL];
   [UIView setAnimationDuration:1.0];
   //Fade out a UIImageView over a one-second duration
   imageView.alpha = 0.0;
   //Fade out the TabBar, assuming it's owned by the app delegate
   appDelegate.myTabBar.tabBar.alpha = 0.0;
   [UIView commitAnimations];

Надеюсь, что это отвечает на ваш вопрос.

Andrew

2 голосов
/ 27 августа 2010

Я думаю, у вас есть 2 альтернативы. Во-первых, с помощью основной анимации вы можете установить альфа на 0 примерно через 0,5 или 1 секунду, другой способ - установить панель инструментов и панель навигации скрытыми. Если вы работаете с контроллером навигации, вы можете позвонить

[self.navigationController setToolbarHidden:YES animated:YES];

или

[self.navigationController setNavigationBarHidden:YES animated:YES];

это, вероятно, делать то, что вы хотите.

«И вернуть его обратно, если пользователь касается экрана.»

Для этого вы можете реализовать такие методы, как:

– touchesBegan:withEvent:
– touchesMoved:withEvent:
– touchesEnded:withEvent:
– touchesCancelled:withEvent:

это будет работать, если вы работаете только с подклассом UIViewController.

...