Мое приложение имеет кнопку входа и кнопку регистрации, которые являются UINavigationButtons
и UIButtons
соответственно. Либо перейдите на новый экран, который при успехе должен PopToRootViewController
; Однако, когда я успешно вхожу, мои кнопки входа и регистрации все еще присутствуют. У меня есть метод, который решает, отображать ли кнопки, вызываемые в методе viewDidLoad
. Таким образом, когда я снова останавливаю/запускаю приложение, кнопки исчезают, как должны. Может ли кто-нибудь дать мне совет о том, как скрыть эти кнопки? Спасибо.UINavigationButton & UIButton на PopToRootViewController?
Бонусные баллы: у меня также есть кнопка выхода из системы, которая имеет аналогичную проблему; Я должен перезапустить приложение до того, как контроллер моего представления поймет, что он должен скрывать кнопку выхода и показывать кнопки входа/выхода.
У меня: 'if (self.signedIn) { [self.homeView hideSignInButton]; [self showRightBarButton: self.logout]; [self hideLeftBarButton: self.signin]; } если (! Self.signedIn) { [self hideRightBarButton: self.logout]; [self showLeftBarButton: self.signin]; } '}'} Когда я переношу его в свой viewWillAppear из моего viewDidLoad, он вылетает с «*** Завершающим приложением из-за неперехваченного исключения» NSInvalidArgumentException », причина:« *** - [__ NSArrayM insertObject: atIndex:]: объект не может быть nil'' – user1034868
Обновление: Таким образом, эта ошибка, кажется, вызвана только кодом кнопки «показать», а не кодом кнопки «Скрыть» и только для UINavButtons. Этот код выглядит следующим образом: '- (void) showRightBarButton: (UIBarButtonItem *) кнопка { NSMutableArray * панель инструментовButtons = [self.navBar.rightBarButtonItems mutableCopy]; если (! [Панель инструментовButtons содержитObject: кнопка]) { [панель инструментовButtons addObject: button]; [self.navBar setRightBarButtonItems: панель инструментов Анимированные кнопки: НЕТ]; } } ' – user1034868