Передача значения для кнопки в destination view controller

Рейтинг: 0Ответов: 2Опубликовано: 26.03.2015

Есть source view controller и destination view controller. В зависимости от перехода в destination view controller кнопка должна становиться видимой/невидимой. Пробовал такой код, но это не работает (в методе prepare for segue):

if ([segue.identifier isEqualToString:@"test"]) {

     UINavigationController *destination = (UINavigationController *)segue.destinationViewController;

     DestinationViewController *viewController = (DestinationViewController *)destination.topViewController;

     [viewController.testButton setHidden:YES];
}

Ответы

▲ 1

Надо передать параметр в DestinationViewController, а выставлять его уже внутри на viewWillAppear

▲ 1

В класс DestinationViewController можно добавить свойство. И этим свойством указывать контроллеру скрывать кнопку. UI элементы в view controller инициализируются когда представление готово к отображению на экране.

@property(nonatomic) BOOL isHideButton;

и реализовать метод

-(void) viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; self.testButton.hidden = _isHideTestButton; }