2010-03-03 5 views
2

Я развиваюсь с iPhone 3.1.3 SDK против iPhone 3GS с ОС 3.1.3. В моем приложении есть панель вкладок с семью элементами, из которых только два содержат что-то значимое. Таким образом, для остальных элементов я снял флажок «Включено» в атрибутах «Элемент панели вкладок» (первая страница, раздел «Барная позиция»).Как отключить все элементы панели вкладок?

Это прекрасно работает для двух видимых элементов панели вкладок, которые отключены - не могут на них нажимать. Остальные три, однако, по-прежнему включены в «Больше» -table, когда вы нажимаете на вкладку «Больше» на панели справа, я получаю их (пустой) вид таблицы. Мне кажется, что это ошибка - поскольку эти элементы не включены, они не должны быть интерактивными, даже в «More» -table. Это происходит как в эмуляторе в режиме отладки, так и на моем iPhone в режиме выпуска.

Так как я могу отключить элементы панели вкладок в «Больше» -table?

ответ

6

Хм. Это почти наверняка ошибка. Я бы рекомендовал вам записать его как один; Конечно. Я попытался придумать пример приложения, чтобы проверить это, и я подтвердил поведение, которое вы наблюдаете ’. Интересно, что в протоколе UITabBarControllerDelegate, есть такой метод:

- (BOOL)tabBarController:(UITabBarController *)tabBarController 
shouldSelectViewController:(UIViewController *)viewController 

Но этот метод ISN ’ т вызываемого при выборе контроллера вида из пункта бара в “ ” Более вкладок. Пока, единственный способ, которым я могу видеть, что это работает, - это удалить контроллеры представлений, которые появятся в контроллере представления “ Подробнее ”, поэтому их невозможно выбрать из-за отсутствия присутствия.

+0

Я подал ошибку в Apple. –

0

Вы должны реализовать протокол «UITabBarControllerDelegate» и установить в качестве делегата tabBarController. Он работает очень хорошо!

6

Я не могу показаться, чтобы получить tabBarController: shouldSelectViewController: чтобы вызвать, но это работает:

for(UITabBarItem *item in self.tabBar.items) 
    item.enabled = false; 

Это может быть не то, что вы хотите, хотя, потому что он блокирует даже „больше“ пункт.

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