我在故事板中有两个viewcontroller
个。第一个视图是LaunchScreen
,它首先出现。使用UILongPressGestureRecognizer
将显示第二个视图。
第一次显示第二个视图时,我的第二个视图的代码是在文件存在时检查标志。第二个视图的UIButton
如果文件不存在则会被禁用。如果我用
[self dismissViewControllerAnimated:YES completion:nil];
第二个视图消失了,我看到了我的第一个视图。效果很好。
但如果我重复它并显示第二个视图,viewcontroller
不会检查我更改的标志,因为该文件现在存在。
以下方法
-(void)showConfigView {
[self presentViewController:[self config] animated:YES completion:nil];
}
正在调用第二个视图。
我的问题是:为什么我的UIButton
仍然被禁用,尽管该标志有另一个值并且该文件存在?
答案 0 :(得分:4)
您需要做的是每次视图控制器关闭或显示时检查标记。您可以在showConfigView
之前或presentViewController
之前dismissViewControllerAnimated
执行此操作,如果您使用的是viewWillAppear
。
但最佳做法是检查viewDidLoad
或 .userInteractionEnabled = true;
中的条件。
启用您编写的按钮
setInterval
答案 1 :(得分:0)
.userInteractionEnabled = true;
[self dismissViewControllerAnimated:YES completion:nil];
请试一试。当您关闭或关闭第二个视图时,此代码会写入。
答案 2 :(得分:-3)
更改viewDidLoad和viewWillAppear
中的标记