在xib文件上的UIBezierPath上设置角半径

时间:2017-10-09 09:35:39

标签: ios swift uibezierpath

我正在开发一个项目,我从xib文件加载searchBar,其中searchBar由UIBezierPath组成,以自定义背景。我在xib类上设置cornerRadius时遇到了问题。由于某种原因,即使我在课堂上设置它,我也没有得到它。我的代码如下所示,帮助将非常欣赏找到问题。

override func awakeFromNib() {
    let image = getImageWithColor(color: UIColor.white, size: CGSize(width: 600, height: 27.5))
        self.searchBar.setSearchFieldBackgroundImage(image, for: .normal)

    }
public func getImageWithColor(color: UIColor, size: CGSize) -> UIImage {
        let rect = CGRect(x: 0, y: 0, width: size.width, height: size.height)
        let path = UIBezierPath(roundedRect: rect, cornerRadius: 20)
        UIGraphicsBeginImageContextWithOptions(size, false, 0)
        color.setFill()
        path.fill()
        UIRectFill(rect)
        let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
        UIGraphicsEndImageContext()
        return image
    }

1 个答案:

答案 0 :(得分:0)

你可以这样尝试它对我有用。

let path = UIBezierPath(roundedRect: self.bounds,
    byRoundingCorners: .allCorners,
    cornerRadius: CGSize(width: 10.0, height: 10.0))

希望它有所帮助!!