UIButton取消点击后的highlight效果(有背景图片)

本文介绍如何取消UIButton被点击时的默认变暗(highlight)效果。通过设置按钮属性[btn setAdjustsImageWhenHighlighted:NO],可以使按钮在被按下时不改变其背景图片的亮度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当在一个UIButton添加了一个背景图片后,点击button会看见图片变暗,highlight的效果。

如果想取消这个highlight的效果可以这样做:

[btn setAdjustsImageWhenHighlighted:NO];

这是这个属性的官方解释:

BOOL adjustsImageWhenHighlighted;  // default is YES. if YES, image is drawn darker when highlighted(pressed)



### 关于 C# 中 UIButton 实现点击取消选中 在 iOS 开发环境中,`UIButton` 并不直接支持选中状态的概念;然而,在 Xamarin.iOS 或 Unity 这样的跨平台开发框架中使用 C# 时,可以通过自定义逻辑来模拟这一行为。 对于希望实现按钮点击之后改变其外观以表示“选中”或“未选中”的效果,可以考虑如下方式: #### 使用 `TouchUpInside` 事件处理程序 通过监听按钮的触摸结束事件 (`TouchUpInside`) 来切换按钮的状态,并相应地调整图像或其他属性。下面是一个简单的例子展示如何利用此机制达到目的[^3]。 ```csharp using UIKit; public class ToggleButton : UIButton { private bool _isSelected; public ToggleButton() { this.TouchUpInside += OnTouchUpInside; } void OnTouchUpInside(object sender, EventArgs e) { // 切换选中状态 _isSelected = !_isSelected; // 更新按钮样式基于当前状态 UpdateAppearance(); } protected virtual void UpdateAppearance(){ if (_isSelected){ SetImage(UIImage.FromFile("checked.png"), UIControlState.Normal); }else{ SetImage(UIImage.FromFile("unchecked.png"), UIControlState.Normal); } } } ``` 上述代码片段展示了创建一个继承自 `UIButton` 的类 `ToggleButton`,该类内部维护了一个布尔变量 `_isSelected` 表示按钮是否被选中。每次触发 `TouchUpInside` 事件都会反转这个标志位并调用 `UpdateAppearance()` 方法更新按钮显示的内容。 为了使按钮看起来像是已选中还是未选中,这里假设存在两张图片资源:“checked.png” 和 “unchecked.png”。当然也可以根据实际需求修改为其他形式的变化,比如文字颜色变化等。 请注意,这段代码适用于 Xamarin.iOS 环境下的应用程序开发。如果是在 Unity 下工作,则可能需要采用不同的 API 调用来完成相同的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值