0

我在我的应用程序中遇到了一些奇怪的问题。

在我的 ViewDidLoad() 方法中,我将按钮的标题设置如下。

[btnA setTitle:@"A" forState:UIControlStateNormal];

在另一个单击事件中,我想将此标题的值设置为 nil,如下所示。

[btnA setTitle:nil forState:UIControlStateNormal];

但是当我在上述语句之后立即打印日志时,如下所示

NSLog(@"btnA:%@",btnA.titleLabel.text);

它打印日志如下

btnA:A

奇怪的是,当我在模拟器中运行应用程序时,按钮的文本没有显示任何内容,因此在单击事件时它变为 nil。

有什么问题吗?

4

4 回答 4

2

您可以将标题设置为空字符串,如下所示:

[btnA setTitle:@"" forState:UIControlStateNormal];
于 2012-05-09T13:38:32.163 回答
1

尝试以下代码

button.titleLabel.text   = @"";

或在您自己的代码中尝试延迟

- (IBAction)produceImage:(id)sender
{

     // Call another function which setthe title after delay

    [self performSelector:@selector(title:) withObject:sender afterDelay:2];

}

- (IBAction)title:(id)sender
{
   [sender setTitle:@"" forState:UIControlStateNormal];

      NSLog(@"sender:%@",sender.titleLabel.text);


}
于 2012-05-09T14:24:26.290 回答
1
[btnA setTitle:@"" forState:UIControlStateNormal];

或设置 btnA = nil;

于 2012-05-09T13:38:16.787 回答
-1

当你再次从按钮获取值时,你可以做setTitle @" " . setTitle @"" ornil` 是没用的,它给你以前的值

于 2014-09-04T02:31:58.293 回答