非常直接;只是尝试将我的按钮的显示名称从“按钮”更改为“a”。但是setTitle方法似乎没有做任何事情。我和UIState一起玩,这似乎没什么变化。
我可能需要合成任何东西吗?
[Button1 setTitle:@"a" forState:UIControlStateNormal];
编辑: 我做了一个NSLog,按钮显示为NULL,我被告知这意味着它没有正确连接。但我仔细检查了我的Connections Inspector,查看了H文件,一切似乎都很好。 (http://imgur.com/EFsp51U)我错过了什么?
答案 0 :(得分:3)
如果您已在Interface Builder中创建了按钮,请转到此处并将其类型更改为自定义。
并检查您是否正确连接了IBOutlet
。
答案 1 :(得分:2)
我开始挖掘我的代码,在我的viewDidLoad方法中,我有以下内容:
Button1 = NO;
我想我正试图输入"选择"但是分心了,没有回来,所以无意中关掉了我自己的按钮。正确的代码是:
self.Button1.selected=NO;
[self.Button1 setTitle:@"a" forState:UIControlStateNormal];
答案 2 :(得分:0)
Button1
不是nil
答案 3 :(得分:0)
确保您已合成按钮。
//this assumes you have a button "myButton" declared in your interface file
@implementation
@synthesize myButton;
-(void) myMethod{
[myButton setTitle:@"The new Title" forState:UIControlStateNormal];
}
@end
您应该通过IB插座将按钮连接到.h文件或完全通过代码创建按钮。
最好不要以大写字母开头的变量名称。
答案 4 :(得分:0)
我不确定问题是关于线程的,但您可能想尝试在主线程上设置标题:
dispatch_async(dispatch_get_main_queue(), ^{
[Button1 setTitle:@"a" forState:UIControlStateNormal];
});
答案 5 :(得分:0)
执行以下操作:
待办事项
NSLog(@"%@", Button1);
并检查它不是零。
检查
NSLog(@"%d", btn.state);
应该返回0。
答案 6 :(得分:0)
您的代码完全有效。但只是为了确保一切正常,请添加以下额外的行,
Button1.selected = NO;
[Button1 setTitle:@"a" forState:UIControlStateNormal];
答案 7 :(得分:0)
如果您还没有明确合成它,那么您应该调用
[_Button1 setTitle:@"a" forState:UIControlStateNormal];
或
[self.Button1 setTitle:@"a" forState:UIControlStateNormal];