私はxibファイルからsearchBarをロードするプロジェクトで作業しています。searchBarは、UIBezierPathで背景をカスタマイズするようになっています。私はxBクラスの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
}
おそらく、あなたは 'path'変数をクリッピングしていませんでした。 '[path addClip]'; – NeverHopeless