Кажется, вы хотите, чтобы определенная кнопка была скрыта, если что-то происходило где-то еще.
Вы МОЖЕТЕ, как хак (но я не очень-то возражаю) контролировать это, например, с помощью переменной в вашем AppDelegate.
Когда «что-то» происходит «где-то еще», сделайте это:
MyAppDelegate *appDelegate = [[(MyAppDelegate *)UIApplication sharedApplication] delegate];
appDelegate.shouldHideThatOtherButtonLater = YES;
Затем, когда вы позже создадите новый ViewController, вы можете использовать это значение, чтобы определить, должна ли ваша кнопка быть видимой или нет:
ViewController *vc = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
MyAppDelegate *appDelegate = [[(MyAppDelegate *)UIApplication sharedApplication] delegate];
[vc.mainbutton1 setHidden: appDelegate.shouldHideThatOtherButtonLater ];
В этом случае вам придется подготовить свой AppDelegate для этого путем создания и синтеза свойства shouldHideThatOtherButtonLater.