UIButton 切换标题。仅在第二次单击后更改

Posted

技术标签:

【中文标题】UIButton 切换标题。仅在第二次单击后更改【英文标题】:UIButton toggle title. Only changes after 2nd click 【发布时间】:2011-06-25 14:50:57 【问题描述】:

我在这里查看了很多关于如何使用切换按钮的示例。我的切换按钮检测到初始状态正常,所以当视图加载时,它会正确显示“删除”或“添加到收藏夹”,但是当我点击它时,没有任何变化。

第二次改变文本应该是这样......之后它就可以正常工作了。

我做错了什么?

- (IBAction)addToFav:(id)sender 
NSLog(@"Sending Favorite Button Click message to delegate");
NSLog(@"Delegate is: %@", self.delegate);

[self.delegate clickedOnFavoriteButton:self];

if (favo==YES) 
    self.favorite = @"notFavorite";
    [favoriteButton setTitle:@"Remove" forState:UIControlStateNormal];
    favo = NO;


else if (favo == NO)
    self.favorite = @"favorite";
    [favoriteButton setTitle:@"Add to Favorites" forState:UIControlStateNormal];
    favo=YES;


【问题讨论】:

【参考方案1】:

确保favo ivar 已正确初始化。

【讨论】:

嗨 Sergio,favo 已在 viewDidLoad 中初始化,看到 if 中的其余代码被执行,我相当确定这不是问题。 您能否提供 viewDidLoad 并解释您如何创建按钮(IB 与代码)?我也想知道clickedOnFavoriteButton: 函数... 嗨,塞尔吉奥,我真是个白痴!意识到错误是什么,我将标题设置在前面。

以上是关于UIButton 切换标题。仅在第二次单击后更改的主要内容,如果未能解决你的问题,请参考以下文章

模态仅在第二次单击后显示

React Leaflet Routing Machine:onClick to add Marker after all the waypoints are removed仅在第二次单击后触发

UseState 仅在第二次单击时显示

Jquery .remove() 仅在第二次点击时起作用

<a4j:commandbutton> 操作仅在第二次单击时调用

SQL 表更改仅在第二个程序运行后可见