仅使用一种方法在所有ViewControllers中隐藏UIButton

时间:2015-07-10 09:12:16

标签: ios objective-c uibutton

我有一个入门级问题,即在我的项目中,所有ViewControllers中都有一个相同的按钮,在某些情况下我需要隐藏按钮。它很容易隐藏在具有buttonTitle.hidden=YES;的单个ViewControllers中,我想在appdelegate或其他地方的单一操作中隐藏此按钮,这样做更好。我正在为此寻找更好的解决方案,如果有人对此有所了解,请建议我。

2 个答案:

答案 0 :(得分:0)

我没有尝试,但你可以使用单例类。我的意思是,创建一个子类按钮,并在所有控制器中使用该按钮的共享实例。

另一个解决方案是,我试过,navigationController.view上的添加按钮将显示在所有控制器中。当你隐藏时,它将隐藏所有控制器。

由于

答案 1 :(得分:0)

将以下代码放入AppDelegate中(根据您的要求使用/编写代码)

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    if ([[NSUserDefaults standardUserDefaults] objectForKey:@"myButton"]) {
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"myButton"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }

当你想要消失按钮标题

[[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"myButton"];
[[NSUserDefaults standardUserDefaults] synchronize];

现在,使用以下代码替换所有buttonTitle.hidden=YES;

if ([[NSUserDefaults standardUserDefaults] boolForKey:@"myObject"]) {
   buttonTitle.hidden=YES;
}
else
{
  buttonTitle.hidden=NO;
}