iOS7 自定义按钮褪色与 UIActionSheet

Posted

技术标签:

【中文标题】iOS7 自定义按钮褪色与 UIActionSheet【英文标题】:iOS7 Custom Button Fading with UIActionSheet 【发布时间】:2013-10-25 17:13:00 【问题描述】:

我遇到了一个导航问题,我们必须使用与 ios7 匹配的自定义后退按钮。因此,我们正在创建一个带有背景图像的 UIButton,然后将其设置为 UIBarButtonItem 的自定义视图。

问题是当 iOS7 呈现 Action sheet 时,背景会变淡。但是,自定义按钮没有,而且看起来不匹配。问题是 - 是否可以设置一个属性来提供褪色状态的图像? (虽然这可以通过委托来完成,但我想看看在走这条路之前是否有更简单的解决方案)。

我尝试为 UIControlStateDisabled、UIControlStateSystem、UIControlStateReserved 设置褪色图像,但无济于事。

截图如下:

【问题讨论】:

【参考方案1】:

我最终使用了委托。当操作表出现时,我的控制器收到一条消息并将按钮切换为淡入淡出。当操作表被关闭时,我的控制器再次收到一条消息并将按钮切换到正常状态。

Actionsheet 是这里的子类,这就是我必须跳这支舞的原因。

【讨论】:

【参考方案2】:

我实际上已经在没有授权的情况下解决了这个问题。解决方案是有一个背景清晰的png。所以只是后退箭头的蓝色。在这种情况下,iOS 会处理褪色和去饱和。如果添加背景,则不会。

【讨论】:

以上是关于iOS7 自定义按钮褪色与 UIActionSheet的主要内容,如果未能解决你的问题,请参考以下文章

自定义iOS7导航栏背景,标题和返回按钮文字颜色

带有自定义后退按钮的滑动手势冻结根视图控制器

后退按钮与按钮轮廓一起出现

有啥方法可以覆盖 iOS 7 中的 titleView 褪色?

ios7上看不到后退按钮

自定义 NavigationBar 按钮在 iOS 7 中看起来不同