我是iPhone应用程序开发的新手。我想知道是否有可能创建带有标题ABC的按钮,并且当用户点击该标题时,标题将变为XYZ之类的内容,并且当用户单击该按钮(标题现在变为XYZ)时,它将再次变为前一个即ABC。每次在Xcode 4.3中点击按钮时,如何更改按钮的标题?
我使用xcode 4.3与故事板,任何帮助将不胜感激。
UPDATE:我已经实现了它的前半部分。也就是说,当我点击ABC时,它会转向XYZ,但不知道如何在点击时将XYZ设置回ABC。(
我是iPhone应用程序开发的新手。我想知道是否有可能创建带有标题ABC的按钮,并且当用户点击该标题时,标题将变为XYZ之类的内容,并且当用户单击该按钮(标题现在变为XYZ)时,它将再次变为前一个即ABC。每次在Xcode 4.3中点击按钮时,如何更改按钮的标题?
我使用xcode 4.3与故事板,任何帮助将不胜感激。
UPDATE:我已经实现了它的前半部分。也就是说,当我点击ABC时,它会转向XYZ,但不知道如何在点击时将XYZ设置回ABC。(
声明一个BOOL
属性,比如,buttonIsOn
。
- (IBAction) buttonPressed: (id) sender
{
self.buttonIsOn = !self.buttonIsOn;
NSString * buttonTitle = (self.buttonIsOn ? @"ABC" : @"XYZ");
[self.button setTitle: buttonTitle forState: UIControlStateNormal];
}
粗略的方法是比较按钮的标题和更改到另一个。
您还可以定义枚举达到同样的效果(但代码会更有意义)。
如果以上答案都不行然后... 试试这个:
- (IBAction) buttonPressed: (UIButton*) sender
{
self.button=sender;
self.buttonIsOn = !self.buttonIsOn;
if (self.buttonIsOn) {
[self.button setTitle: @"ABC" forState: UIControlStateNormal];
} else {
[self.button setTitle: @"XYZ" forState: UIControlStateNormal];
}
}
我刚刚更新了我的答案,你应该确保你再次复制它。 –
不需要我再次复制它,因为我已经通过编辑更改了代码。 – Warewolf
有没有必要做self.button = sender; –
我做到了,我得到这个错误: 住宅“buttonIsOn”不是类型“视图控制器”的对象 –
我回答问题的第一线发现......“声明一个BOOL属性,说,buttonIsOn。“ –
现在它说: ”线程1:程序接收信号SIGABRT“ –