我刚刚注意到UIButton中的这种疯狂行为:
如果我尝试从按钮的内部触摸事件中触发的IBAction设置UIButton的标题,则标题会更改,但会很快恢复为旧值。
如果我在其他按钮的内部触摸事件中执行此操作,则按预期工作。
猴子生意在做什么?
- (IBAction)removeText:(id)sender {
[[sender titleLabel] setText:@"New Text"];
}
答案 0 :(得分:1)
titleLabel是一个只读属性。你想使用:
[sender setTitle:@"title" forState:UIControlStateNormal];
编辑:实际上,查找titleLabel自己的属性仍然可以访问,但是setTitle解决方案是可行的....
答案 1 :(得分:0)
正确的方法是:
- (IBAction)removeText:(id)sender {
[(UIButton*)sender setTitle:@"New Text" forState: UIControlStateNormal];
}