ios - 以编程方式禁用单击 UIButton 时的突出显示

标签 ios objective-c uibutton

一定有办法做到这一点,但我找不到。我有一个以编程方式创建的按钮:

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(25, self.view.frame.size.height/4, 200, 350);
[button setTitle:@"Inbox" forState:UIControlStateNormal];
[button addTarget:self action:@selector(popViewController:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];

我想要的只是按钮在被触摸时不以任何方式突出显示或改变外观。到目前为止,我在创建按钮时尝试了以下操作:

[button setBackgroundImage:[UIImage imageNamed:nil] forState:UIControlStateSelected | UIControlStateHighlighted];

[button setBackgroundImage:nil forState:UIControlStateSelected];

[button setAdjustsImageWhenHighlighted:NO];

button.showsTouchWhenHighlighted = NO;

然后在我尝试的按钮操作中:

[sender setHighlighted:!sender.isHighlighted];

[sender setSelected:!sender.isSelected];

这些都不起作用。

最佳答案

您可以简单地将 adjustImageWhenHighlighted 设置为 No。

button.adjustsImageWhenHighlighted = NO;

关于ios - 以编程方式禁用单击 UIButton 时的突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17580180/

相关文章:

ios - 多个 UIButtons 只能选择一个 - swift 中的子类

iphone - UIButton 的图像丢失了新设置的图像

ios - UIDatePicker 中的重复年份和日期

ios - 修复警告 : Attempt to present ViewController on NavigationController whose view is not in the window hierarchy

objective-c - 劫持或阻止 UITableView didSelectRowAtIndexPath

ios - 根据其 super View 框架更改 subview

ios - UIButton 的 titleEdgeInsets 毫无意义

ios - UIBarButtonItem 点击区域

ios - 如何从惰性集变量内的完成处理程序返回

ios - 编写一个对一个项目可见而对其他项目隐藏的类方法?