Objective c 边界模糊的视图

Objective c 边界模糊的视图,objective-c,ios,core-graphics,Objective C,Ios,Core Graphics,有没有办法模糊/淡出UIView的边框 到目前为止,我在核心图形方面几乎没有做过任何工作。您可以尝试将UIView的CALayer设置为大阴影半径和透明度。比如: #include <QuartzCore/QuartzCore.h> 添加swift版本的示例: btnSignIn.layer.cornerRadius = btnSignIn.frame.height * 0.5 btnSignIn.layer.shadowColor = UIColor.da

有没有办法模糊/淡出UIView的边框


到目前为止,我在核心图形方面几乎没有做过任何工作。

您可以尝试将UIView的CALayer设置为大阴影半径和透明度。比如:

    #include <QuartzCore/QuartzCore.h>

添加swift版本的示例:

    btnSignIn.layer.cornerRadius = btnSignIn.frame.height * 0.5
    btnSignIn.layer.shadowColor = UIColor.darkGray.cgColor
    btnSignIn.layer.shadowRadius = 4.0
    btnSignIn.layer.shadowOpacity = 1.0
    btnSignIn.layer.shadowOffset = CGSize(width: 0, height: 0)
结果:

请记住,如果在ib编辑器中更改阴影设置,它将更改文本的阴影,而不是视图的边框

您还可以创建一个类并在IB Builder中进行设置:

class UIRoundedWhiteButton: UIButton {

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)

    layer.cornerRadius = frame.height * 0.5
    layer.shadowColor = UIColor.darkGray.cgColor
    layer.shadowRadius = 4.0
    layer.shadowOpacity = 1.0
    layer.shadowOffset = CGSize(width: 0, height: 0)
}...

我什么都没做。我希望图书馆已经有办法做到这一点,就像做圆角一样。如果我需要对核心图形进行定制,那么现在花时间学习它的效果是不值得的。你已经阅读了吗?没有内置的方法可以做到这一点。你可以用一个不太硬的渐变层来遮罩渐变。模糊是一个非常不同的问题。哈,这非常有效!我曾想过使用阴影,但我不确定如何让阴影环绕整个视图。谢谢只对我部分有效。可能是因为我应用了透视变换-模糊的边界仅适用于距离用户最近的点如何不使用阴影?我是说如果我想让图像本身褪色怎么办?在它的边上不使用任何颜色,我指的是由uibezierpath定义的边?谢谢
class UIRoundedWhiteButton: UIButton {

required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)

    layer.cornerRadius = frame.height * 0.5
    layer.shadowColor = UIColor.darkGray.cgColor
    layer.shadowRadius = 4.0
    layer.shadowOpacity = 1.0
    layer.shadowOffset = CGSize(width: 0, height: 0)
}...