2017-10-09 7 views
0

私は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 
    } 
+1

おそらく、あなたは 'path'変数をクリッピングしていませんでした。 '[path addClip]'; – NeverHopeless

答えて

0

あなたは私のためにこのように試すことができます。

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

希望すると助かります!

+0

anyView ??そのようなxibクラスのプロパティはありません – danu

+0

角の半径を@danuに設定するビューを指定するだけです –

関連する問題