我一辈子都弄不明白为什么这行不通。我试图在确定 bool 条件后显示标签。无论我做什么,标签都不会显示。因此,在一次可悲的绝望尝试中,我将显示标签的代码放在按钮事件中以强制显示。现在它完美地工作(从按钮点击)。但它仍然无法从 bool 条件下工作!
这是在 viewDidLoad 中(注意 'true' 只是为了隔离错误的位置):
if (true) [self showSubscribeLabel];
这是来自按钮点击:
- (IBAction)askUserToSubscribe:(id)sender {
[self showSubscribeLabel];
}
-(void) showSubscribeLabel {
NSLog(@"here");
self.subscribeLabel.hidden = NO;
[self.view bringSubviewToFront:self.viewUnauthorized];
}
我在此处
看到 Controller 加载时的输出,然后在单击按钮后再次看到输出。我究竟做错了什么?谢谢!
最佳答案
您应该将测试和方法调用移至 viewWillAppear
- 通常情况下,viewDidLoad
中的内容并未完全初始化。将代码放在 viewWillAppear 中还可以确保每次 View Controller 出现时(例如当另一个 View 从导航堆栈中弹出时)而不是第一次加载时都会评估条件。
关于ios - 无法从 bool 条件显示 UILabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26027923/