我用过这个问题:
How to create a UIButton with a black gradient for iPhone?
...设置一个颜色渐变作为我的按钮的背景,它看起来很棒,但当我点击按钮时它没有明显改变,并给用户任何他们成功点击按钮的反馈。
如何为突出显示的状态或类似的东西设置第二个渐变?
答案 0 :(得分:2)
嗯,您正在设置子图层,而不是为按钮的视图提供任何内容。子图层是直接绘制的,因此UIButton认为它没有任何内容可以“突出显示”。如果您在选择按钮时想要对按钮产生不同的效果,则有三种简单的方法。
一个是用渐变制作两个图像。压力和正常状态。这更简单,因为您可以根据需要设计它们,并且它是一个简单的一行,一次性实现。
另一个选项是添加在您的按钮获取UIControlEventTouchDown
时被调用的选择器以及您想要将其切换回来的其他Control Event(s)。
最后一个简单的选项是子类化UIButton并使用UIResponder
触摸方法来确定何时在不同的背景类型之间手动切换。