ios - 无法从 bool 条件显示 UILabel

标签 ios objective-c

我一辈子都弄不明白为什么这行不通。我试图在确定 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/

相关文章:

objective-c - Mac环境下objective-c如何使用USB/HID接口(interface)?

ios - 嵌套推送动画 iOS7 错误?

objective-c - 变长c数组

ios - 如何在 SwiftUI 中设置与 superview 成比例的高度和宽度?

ios - 如何在 ionic Framework 中将 http 调用作为后台运行?

ios - NSLog 与某些 NSURL 崩溃 - iOS 9.2

ios - 移动位于键盘下方的内容

ios - 在滑动时停止滚动 UIPageViewController

ios - 将动画的方向从顺时针反转为逆时针

ios - 通用类型 JSON 模型