如何剪切图像的角落

时间:2017-07-09 08:56:49

标签: ios swift image background ibdesignable


我用快速文件制作这个视图

import UIKit

@IBDesignable class DesignView: UIView {

@IBInspectable var CornerRadius: CGFloat = 0 {
    didSet {
        self.layer.cornerRadius = CornerRadius
    }
  }

}

但是当我设置图像背景时,图像溢出的视图如下:

我尝试将相同的swift文件应用到我的图像视图中,如下所示

import UIKit

@IBDesignable class DesignImageView: UIImageView {

@IBInspectable var CornerRadius: CGFloat = 0 {
    didSet {
        self.layer.cornerRadius = CornerRadius
    }
  }

}

但没有任何附加信息,那么如何在不编辑我的图像的情况下切入角落?

2 个答案:

答案 0 :(得分:1)

尝试

view.clipsToBound = true

由于尺寸

,您的图片显示出界限

来自Apple Developer Docs

  

将此值设置为true会导致子视图被剪切到接收器的边界。如果设置为false,则不会剪切其帧超出接收器可见边界的子视图。默认值为false。

答案 1 :(得分:0)

Class Scope

中添加此代码
extension UIView // Almost any Kind of View inherits UIView Ex: UIImageView 
{
    func setCorner(withRadius radius : CGFloat)
    {
        self.layer.cornerRadius = radius
        self.clipsToBounds = true //your view won't cross the bound
    }
}

并使用喜欢。 。

DesignImageView.setCorner(withRadius: 5)