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

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

问题描述:

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

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

也许你错过了剪辑路径变量。 '[路径addClip]'; – NeverHopeless

你可以试试这种方式,它适用于我。

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

希望它有帮助!

+0

anyView?在我的xib类中没有像这样的任何属性 – danu

+0

您只需提供您想要在@danu上放置角落半径的视图 –