Как реализовать панель вкладок в стиле «iPhone App Store»? - PullRequest
1 голос
/ 24 июня 2010

Я разрабатываю приложение для iPhone, которое должно отображать довольно сложную информацию, и я думаю, что лучший способ отобразить ее - имитировать макет пользовательского интерфейса, который Apple выбрала в своем приложении "App Store" для iPhone.

Если вы загрузите приложение App Store и перейдете на вкладку «25 лучших», внизу будут стандартные вкладки (обычная панель вкладок iPhone), а также другая панель вкладок вверху, содержащая кнопки «Вверх» Платный "," Top Free "и" Top Grossing ".

Я пытаюсь выяснить, как сделать этот макет интерфейса пользователя с двумя вкладками, но я не могу найти что-либо в документации разработчика для этого элемента управления "панель вкладок". Я пытался вручную создать второй UITabBar, но он не поддерживает добавление кнопок, как в приложении App Store.

Кто-нибудь знает, как реализовать подобные вещи?

1 Ответ

5 голосов
/ 24 июня 2010

Верхний элемент управления в приложении App Store на самом деле представляет собой UISegmentedControl.Вы можете создавать и устанавливать его свойства так же, как и большинство других элементов управления, и настраивать представление заголовка UINavigationBar для своего сегментированного элемента управления.

Пример быстрого кода (это относится к методу viewDidLoad вашего контроллера навигации):

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc]
                                        initWithItems:[NSArray arrayWithObjects:@"One", @"Two", @"Three"]];

// Set the control style so it blends in with the navigation bar
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;

// Replace the usual title label with our segmented control
self.navigationItem.titleView = segmentedControl;

[segmentedControl release];

Это, конечно, просто для добавления сегментированного элемента управления в строку заголовка;это зависит от вас, что вы хотите от сегментированного элемента управления.

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