0

Скажем, у меня есть 4 детали в моем UITabBar: A B C D.вкладка UITabBar толкает новый ViewController

через методу делегата, D толкает новый viewController от UITabBar'snavigationController, (удаление TabBar для этого одной точки зрения).

Это прекрасно работает, но как я могу показать UITabBar пустой вид для D при возвращении с нового вида?

Я попытался установить selectedIndex к предыдущему индексу на толчке, но это просто висит приложение (кажется, работает хорошо для модальностей, но только не при нажатии.)

+0

Трудно понять ваш вопрос. Можете ли вы описать поток пользовательского интерфейса и проблему больше? – CaptJak

+0

Возможно, вам придется подождать viewWillAppear из D, прежде чем вы будете использовать selectedIndex – 0xFADE

ответ

2

Если интерпретировать это правильно, когда вы нажатие вида в результате выбора вкладки, вы одновременно меняете выбранную вкладку. Вероятно, это попытка изменить иерархию представлений, на которые вы сейчас нажимаете представление (это было бы результатом выбора другой вкладки, на которую вы пытаетесь установить ее). Так что это, вероятно, сбой, потому что он заменяет представление, которое находится в процессе отображения.

Кроме того, из его звука вы используете UITabBarController внутри UINavigationController. Apple говорит, что вы не должны размещать UITabBarController внутри другого контроллера. Ниже из документа Apple от UITabBarController:

При развертывании интерфейса панели вкладок вы должны установить это представление в качестве корня своего окна. В отличие от других контроллеров представлений интерфейс панели вкладок никогда не должен устанавливаться как дочерний элемент другого контроллера представления.

Если это так, вы должны переконфигурировать свое приложение, чтобы вы не содержали контроллер панели вкладок в любых других контроллерах представлений, или ваше приложение может вести себя странно или перестать работать в какой-то момент.

Если вы хотите, чтобы все делалось именно так, как вы хотите, вы можете напрямую использовать UITabBar и реализовать свой собственный UITabBarDelegate.

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