gpt4 book ai didi

ios - UIButton setEnabled 不起作用

转载 作者:行者123 更新时间:2023-11-29 04:21:54 25 4
gpt4 key购买 nike

在 viewDidLoad 中,我检查两个 UITextField 是否具有有效输入(文本长度 > 0),然后设置 UIButton 的启用属性。使用调试器我发现

self.loginButton.enabled = YES;

已执行,但是当我使用

打印 bool 值时
print self.loginButton.enabled

我在语句执行之前得到NO(这没关系),但在执行语句之后也得到NO。我还多次检查了 self 的 UIButton 属性是否通过 IBOutlet 连接到 Storyboard中的 UIButton,情况就是如此。我还可以使用控制台打印 titleLabel 的文本。当我点击其中一个 UITextField 并更改文本时

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

正在被调用,我将再次检查文本。这里

self.loginButton.enabled = YES;

看起来工作正常。使用 iOS 5,我没有遇到任何问题,但我在该问题的文档中没有发现 iOS 6 的任何相关更改。

有什么想法吗?

编辑:问题有所不同。我在 UIViewController 中也有一个 UITableView,并且 tableView 比预期的要大(比 Storyboard中设置的大)(直到知道我不知道为什么)并且似乎覆盖了 UIButton。在执行之前更改 UIButton 或 UITableView 的框架

self.loginButton.enabled = YES;

有效。设置enabled属性时可能会有延迟,因为打印boolean值仍然返回NO。

NSLog(@"%i",self.loginButton.isEnabled);
self.loginButton.enabled = YES;
NSLog(@"%i",self.loginButton.isEnabled);

2012-10-13 16:11:43.460 [1524:c07] 1
2012-10-13 16:11:43.462 [1524:c07] 1

最佳答案

您是否在 initWithNibName: 中执行 self.loginButton.enabled = YES; ?当您执行此操作时,self.loginButton 可能并未从 xib 初始化,这可以解释为什么它在 shouldChangeCharactersInRange 中工作。尝试打印 self.loginButton 看看是否是这种情况。

关于ios - UIButton setEnabled 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12873676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com