Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.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上使用setBackgroundImage时移除UIButton的阴影_Ios_Objective C_Iphone_Swift_Uibutton - Fatal编程技术网

在iOS上使用setBackgroundImage时移除UIButton的阴影

在iOS上使用setBackgroundImage时移除UIButton的阴影,ios,objective-c,iphone,swift,uibutton,Ios,Objective C,Iphone,Swift,Uibutton,我正在创建一个定制的iPhone键盘,但UIButton有一个问题 我用这个代码为我的按钮创建渐变 let gradient = CAGradientLayer() gradient.frame = self.bounds let gradientColors: [AnyObject] = [UIColor(red: 253.0/255, green: 253.0/255, blue: 253.0/255, alpha: 1.0).CGColor, UIColor

我正在创建一个定制的iPhone键盘,但UIButton有一个问题

我用这个代码为我的按钮创建渐变

        let gradient = CAGradientLayer()
    gradient.frame = self.bounds
    let gradientColors: [AnyObject] = [UIColor(red: 253.0/255, green: 253.0/255, blue: 253.0/255, alpha: 1.0).CGColor, UIColor(red: 253.0/255, green: 153.0/255, blue: 53.0/255, alpha: 1.0).CGColor]
    gradient.colors = gradientColors
    self.setBackgroundImage(gradient.UIImageFromCALayer(), forState: UIControlState.Normal)
它工作得很好,但有一个小故障。它创建渐变,但在按钮的右侧和底部添加一个薄薄的阴影

我也试着不使用渐变,我加了一个纯色,但还是有相同的阴影

最后我用这段代码来改变背景颜色

self.backgroundColor = UIColor(red: 253.0/255, green: 253.0/255, blue: 253.0/255, alpha: 1.0)
它起作用了,影子不在了。但这引发了另一个问题。我的按钮不会更改UIButton高亮显示状态的颜色

有没有办法消除阴影,或者在高亮显示状态(以及选定状态)上更改UIButton的颜色

实际上,我已经尝试过任何解决方案,包括改变阴影、边界和。。。。但什么都没用|

我也试过:

        if (self.state == UIControlState.Normal) {
        self.backgroundColor = UIColor(red: 153.0/255, green: 53.0/255, blue: 53.0/255, alpha: 1.0)
    }
    else if (self.state == UIControlState.Reserved) {
        self.backgroundColor = UIColor(red: 253.0/255, green: 253.0/255, blue: 253.0/255, alpha: 1.0)
    }
但同样没有起作用


谢谢。

使用按钮的图层属性删除阴影可能会有帮助,请按照此链接使用按钮的图层属性