每次按下按钮都会更改标题

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];

【讨论】:

但是只有在用户按住按钮时才会显示文本。我试图在每次触摸时更改文本并一直保持到再次按下按钮。 那么唯一的选择就是在用户选择按钮时捕获动作并更改标题,导致按钮无法“选择”,它不是开关 听起来很合乎逻辑..但我不知道如何进行该操作,请您帮忙吗?

以上是关于每次按下按钮都会更改标题的主要内容,如果未能解决你的问题,请参考以下文章

每次按下刷新按钮时DataGridView都会重复vb.net

从另一个线程更改按钮图标/切换按钮

核心数据保存更改撤消

第一次更改图像时 UIImageView 内存增加

Mat-icon:当按下一个按钮时,所有的图标都会改变

按下按钮更改标签文本