a1p*_*ric 5 iphone objective-c uibutton
TL; DR - 我的问题是:如何将UIButton的标题设置为空字符串,或者在已经为其分配了前一个标题后为null.
我有一个UIButton接受一个基于NSString变量的文本生成的字符串作为它的标题使用以下内容:
NSString *MyStringVariable = @"HELLO";
...
[myButton setTitle:MyStringVariable forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)
为了这个问题,让我们假设我在我的NSString变量上设置了"HELLO".这使我的UIButton标题为"HELLO",显然......
然后我有另一个按钮从UI按钮中删除此标题,如下所示:
[myButton setTitle:@"" forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)
这确实隐藏的UIButton的标题(即现在只是看起来像一个空的UIButton),但经过进一步检查,标题确实逸岸仍然存在.如果我将以下内容添加到我的UIViewController:
- (void)viewWillAppear:(BOOL)animated{
NSLog(@"Title: %@", myButton.titleLabel.text);
}
Run Code Online (Sandbox Code Playgroud)
并在此视图中往返导航,即使我已将文本设置为@"",标题仍会继续记录在控制台中.
我尝试了以下方法使标题真正消失:
[myButton setTitle:@"" forState:UIControlStateNormal];
[myButton setTitle:NULL forState:UIControlStateNormal];
[myButton setTitle:nil forState:UIControlStateNormal];
myButton.titleLabel.text = @"";
Run Code Online (Sandbox Code Playgroud)
奇怪的是,如果我将标题设置为@""(带空格):
[myButton setTitle:@" " forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)
标题确实正确更新,然后将空间记录到控制台,而不是旧标题.
我的问题是:如何将UIButton的标题设置为空字符串,或者在已经为其分配了前一个标题后为null.
我也遇到了同样的问题.我正在@""为所有状态设置按钮的标题,稍后当我检查titlelabel.text它时,它会给我之前的标题,而不是@"".因此,我按照PengOne的建议打印出按钮的所有可能值,并找到属性titleForState并currentTitle提供更新/正确的值.
所以不要检查titleLabel.text,而是检查currentTitle或titleForState.
我还没弄清楚为什么titleLabel没有正确更新.
| 归档时间: |
|
| 查看次数: |
4446 次 |
| 最近记录: |