每次在 Xcode 4.3 中点击按钮时,如何更改按钮的标题?
Posted
技术标签:
【中文标题】每次在 Xcode 4.3 中点击按钮时,如何更改按钮的标题?【英文标题】:How can a button's title be changed everytime it is tapped in Xcode 4.3? 【发布时间】:2012-05-24 09:09:53 【问题描述】:我是 iPhone 应用程序开发的新手。我想知道是否可以创建标题为 ABC 的按钮,当用户单击该按钮时,标题类似于 XYZ,当用户单击按钮(现在标题更改为 XYZ)时,它再次更改为上一个即ABC。
我正在使用带有故事板的 xcode 4.3,任何帮助将不胜感激。
更新:我已经实现了它的前半部分。也就是说,当我单击 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];
【讨论】:
我做到了,我得到了这个错误:在“ViewController”类型的对象上找不到属性'buttonIsOn' 我回答的第一行...“声明一个 BOOL 属性,比如 buttonIsOn。” 嗯,这很简单。读一本关于 Objective-C 的书,当你掌握了基础知识后再回来。【参考方案2】:粗略的方法是比较按钮的标题,然后换另一个。
你也可以定义枚举来达到同样的效果(但代码会更有意义)。
【讨论】:
【参考方案3】:如果上述答案不起作用,那么... 试试这个:
- (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];
【讨论】:
我刚刚更新了我的答案,你应该确保再次复制它。 不,我不需要再次复制它,因为我已经通过编辑更改了代码。 不需要这样做 self.button=sender; @AshleyMills 我稍微更改了代码,现在可以正常工作了。非常感谢。以上是关于每次在 Xcode 4.3 中点击按钮时,如何更改按钮的标题?的主要内容,如果未能解决你的问题,请参考以下文章
Xcode 4.3 如何使用 SVN 合并来自两个开发人员的故事板更改?
如何更改 UIScrollView Xcode 的 ContentOffSet