每次按下按钮都会更改标题
Posted
技术标签:
【中文标题】每次按下按钮都会更改标题【英文标题】:Button changes title every time pressed 【发布时间】:2012-04-02 11:48:37 【问题描述】:我正在尝试这个,但是当我按下它时它不会改变,它只显示文本。 也尝试了 if else 函数,但没有结果。
.h
IBOutlet UIButton *poga1;
@property (nonatomic, retain) UIButton *poga1;
.m
@synthesize poga1;
- (void)viewDidLoad
[super viewDidLoad];
[poga1 setTitle:@"My Title" forState:UIControlStateNormal];
[poga1 setTitle:@"My Selected Title" forState:UIControlStateSelected];
【问题讨论】:
【参考方案1】:试试这个:如果您通过情节提要(gui 界面)添加了标题,则将其删除。
.h //创建一个 IBOutlet 动作。如何?您右键单击该按钮并将其拖到 .h 文件中。弹出窗口,您需要单击下拉菜单并将其切换为操作 //应该是这样的
- (IBAction)yourButton:(id)sender;
.m
//there will be a new function in your .m which is your button action function.
@synthesize poga1;
- (void)viewDidLoad
[super viewDidLoad];
[poga1 setTitle:@"My Title" forState:UIControlStateNormal];
[poga1 setTitle:@"My Selected Title" forState:UIControlStateSelected];
- (IBAction)Start:(id)sender
/* 如果您希望它在每次按下时都更改文本,那么您需要一个全局计数器,每次按下按钮时都会递增。那么你将有一个 if 语句说如果计数器等于 1(按一次)然后将标题设置为 hello,如果计数器等于 7(按 7 次)将标题设置为再见。 */
[sender setTitle:@"whatever" forState:UIControlStateNormal];
【讨论】:
【参考方案2】:您需要捕获按钮的动作并更改标题,因为 UIButton 没有被选中的永久状态,如开关或切换。
如果您想在用户按下时更改标题:
-(IBAction) onClick: (id) sender
[(UIButton *) sender setHighlighted:YES];
【讨论】:
但是只有在用户按住按钮时才会显示文本。我试图在每次触摸时更改文本并一直保持到再次按下按钮。 那么唯一的选择就是在用户选择按钮时捕获动作并更改标题,导致按钮无法“选择”,它不是开关 听起来很合乎逻辑..但我不知道如何进行该操作,请您帮忙吗?以上是关于每次按下按钮都会更改标题的主要内容,如果未能解决你的问题,请参考以下文章