- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
TL;DR - 我的问题确实是:如何将 UIButton 的标题设置为空字符串,或者在已经为其分配了先前的标题后设置为 null。
我有一个 UIButton,它接受基于 NSString 变量的文本生成的字符串,作为标题使用以下内容:
NSString *MyStringVariable = @"HELLO";
...
[myButton setTitle:MyStringVariable forState:UIControlStateNormal];
为了这个问题,让我们假设我在我的 NSString 变量上设置了“HELLO”。然后,这使我的 UIButton 具有标题“HELLO”,显然......
然后我有另一个按钮从 UIbutton 中删除这个标题,如下所示:
[myButton setTitle:@"" forState:UIControlStateNormal];
确实隐藏了 UIButton 的标题(即它现在看起来只是一个空的 UIButton),但经过进一步检查,标题实际上仍然存在。如果我将以下内容添加到我的 UIViewController 中:
- (void)viewWillAppear:(BOOL)animated{
NSLog(@"Title: %@", myButton.titleLabel.text);
}
并从此 View 来回导航,标题继续记录在控制台中,即使我已将文本设置为@""。
我试过以下方法让标题真正消失:
[myButton setTitle:@"" forState:UIControlStateNormal];
[myButton setTitle:NULL forState:UIControlStateNormal];
[myButton setTitle:nil forState:UIControlStateNormal];
myButton.titleLabel.text = @"";
奇怪的是,如果我将标题设置为@""(带空格):
[myButton setTitle:@" " forState:UIControlStateNormal];
标题确实正确更新,然后空间被记录到控制台,而不是旧标题。
我的问题实际上是:如何将 UIButton 的标题设置为空字符串,或者在它已经分配了先前的标题后设置为 null。
最佳答案
我也遇到了同样的问题。对于所有状态,我将按钮的标题设置为 @""
,稍后当我检查 titlelabel.text
时,它会给我之前的标题不是 @""
。所以我按照 PengOne 的建议打印了一个按钮的所有可能值,并发现属性 titleForState
和 currentTitle
给出了更新/正确的值。
因此,与其检查 titleLabel.text
,不如检查 currentTitle
或 titleForState
。
我仍然没有弄清楚为什么 titleLabel
没有正确更新。
关于iphone - 如何将 UIButton 标题设置为 null 或空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6461311/
我是一名优秀的程序员,十分优秀!