仅使用一种方法在所有 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;
}
我有一个入门级问题,即在我的项目中,所有 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;
}