ios - 将“UIButton”状态更改为“Touch Up上选定的UIControlState”

标签 ios objective-c uibutton uicontrolstate

我注意到,如果我做这样的事情

[self setTitle:@"Follow" forState:UIControlStateNormal];
[self setTitle:@"Following" forState:UIControlStateSelected];

该按钮将以“跟随”开始。我按下它,然后放开手指(触摸事件),它会变为“正在跟随”。那很棒。但是,当现在选择它并按它时,它会立即变为“跟随”,然后再松开手指(在触摸事件中)。放开手指(触摸事件)时,我想更改。我该怎么做呢?我将UIControlStates用于UIButton的标题,图像和标题颜色。

以下是我的事件处理程序:
- (void)followButtonAction:(UIButton *)button
{
    button.selected = !button.selected;
}

我将其设置为:
[self.followButton addTarget:self action:@selector(followButtonAction:) forControlEvents:UIControlEventTouchUpInside];

最佳答案

尝试使用它,这对我来说就像切换按钮一样。

-(IBAction)buttonTapped:(UIButton *)sender{
    if ([sender isSelected]) {
        [sender setSelected:NO];
    }else{
        [sender setSelected:YES];
    }
}

希望这对您也有用。

关于ios - 将“UIButton”状态更改为“Touch Up上选定的UIControlState”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29997769/

相关文章:

ios - 禁止自动布局警告

ios - setValue 方法未更新到 Firebase 数据库

objective-c - 处理原始 png 数据

objective-c - 以点表示法获取多个参数的方法

ios - UIButton 在 UITableview 中不起作用

ios - UISearchBar barColor 不匹配 UINavigationBar

ios - queryStarting(atValue 未按预期工作?

ios - 关闭模态视图 Controller 呈现的 UIAlertController

objective-c - 即使静音按钮打开,如何播放音频?

ios - 我如何设置标签以便在按下按钮时它会更改标签上显示的值