Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用图层渐变点击按钮时更改外观_Ios_Uibutton_Calayer_Quartz Graphics - Fatal编程技术网

Ios 使用图层渐变点击按钮时更改外观

Ios 使用图层渐变点击按钮时更改外观,ios,uibutton,calayer,quartz-graphics,Ios,Uibutton,Calayer,Quartz Graphics,我用了这个问题: 。。。设置一个颜色渐变作为我的按钮的背景,它看起来很棒,但是当我点击按钮时,它没有明显的变化,并给用户任何反馈,表示他们成功点击了按钮 如何为高亮显示的状态或类似的状态设置第二个渐变?好吧,您正在设置一个子层,而不向按钮的视图提供任何内容。子层是直接绘制的,因此UIButton认为它没有任何要“突出显示”的内容。如果您希望在选择按钮时对其产生不同的效果,有三种简单的方法 一种是制作两幅带有渐变的图像。被压制的正常状态。这非常简单,因为您可以根据需要设计它们,并且它是一个简单的

我用了这个问题:

。。。设置一个颜色渐变作为我的按钮的背景,它看起来很棒,但是当我点击按钮时,它没有明显的变化,并给用户任何反馈,表示他们成功点击了按钮


如何为高亮显示的状态或类似的状态设置第二个渐变?

好吧,您正在设置一个子层,而不向按钮的视图提供任何内容。子层是直接绘制的,因此UIButton认为它没有任何要“突出显示”的内容。如果您希望在选择按钮时对其产生不同的效果,有三种简单的方法

一种是制作两幅带有渐变的图像。被压制的正常状态。这非常简单,因为您可以根据需要设计它们,并且它是一个简单的单行一次性实现

另一个选项是添加选择器,当您的按钮获得
UIControlEventTouchDown
时会调用该选择器,以及您希望将其切换回的其他选择器

最后一个简单的选项是将UIButton子类化,并使用
UIResponder
touch方法来确定何时在不同的背景类型之间手动切换