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

Hide UIButton in all ViewControllers with only one method

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

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

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

谢谢

将以下代码放入您的 AppDelegate(Use/Write 根据您的要求编写代码)

- (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;
}