2012-05-24 88 views
2

我是iPhone应用程序开发的新手。我想知道是否有可能创建带有标题ABC的按钮,并且当用户点击该标题时,标题将变为XYZ之类的内容,并且当用户单击该按钮(标题现在变为XYZ)时,它将再次变为前一个即ABC。每次在Xcode 4.3中点击按钮时,如何更改按钮的标题?

我使用xcode 4.3与故事板,任何帮助将不胜感激。

UPDATE:我已经实现了它的前半部分。也就是说,当我点击ABC时,它会转向XYZ,但不知道如何在点击时将XYZ设置回ABC。(

回答

1

声明一个BOOL属性,比如,buttonIsOn

- (IBAction) buttonPressed: (id) sender 
{ 
    self.buttonIsOn = !self.buttonIsOn; 
    NSString * buttonTitle = (self.buttonIsOn ? @"ABC" : @"XYZ"); 

    [self.button setTitle: buttonTitle forState: UIControlStateNormal]; 
} 
+0

我做到了,我得到这个错误: 住宅“buttonIsOn”不是类型“视图控制器”的对象 –

+0

我回答问题的第一线发现......“声明一个BOOL属性,说,buttonIsOn。“ –

+0

现在它说: ”线程1:程序接收信号SIGABRT“ –

0

粗略的方法是比较按钮的标题和更改到另一个。

您还可以定义枚举达到同样的效果(但代码会更有意义)。

-2

如果以上答案都不行然后... 试试这个:

- (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]; 
    } 
} 
+0

我刚刚更新了我的答案,你应该确保你再次复制它。 –

+0

不需要我再次复制它,因为我已经通过编辑更改了代码。 – Warewolf

+0

有没有必要做self.button = sender; –