我有一个非常简单的 View Controller ..
import UIKit
class ViewController: UIViewController {
let f = TstKocka(frame: CGRectMake(100,100, 150, 150))
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(f)
}
}
我有一个 UIView 类:
class TstKocka: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
}
required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func drawRect(rect: CGRect) {
var path = UIBezierPath(roundedRect: rect, byRoundingCorners: UIRectCorner.AllCorners, cornerRadii: CGSize(width: 2.0, height: 2.0))
path.lineWidth = 1.0
path.stroke()
}
}
我正在尝试创建一个圆角矩形,但我不知道该怎么做。我读过很多教程,但没有一个对我有用。请帮助我。
最佳答案
由于您没有提供填充颜色,我猜您的矩形应具有清晰的颜色。为了使该工作有效,请将 initwithframe 更改为以下内容:
override init(frame: CGRect) {
super.init(frame: frame)
opaque = false
}
然后增加cornerradii值(例如到20.0、20.0)看看它是否有效! :)
编辑
填充实际上就像抚摸一样简单:
let path = UIBezierPath(roundedRect: rect, byRoundingCorners: UIRectCorner.AllCorners, cornerRadii: CGSize(width: 20.0, height: 20.0))
path.lineWidth = 1.0
UIColor.blueColor().setFill() // or whatever fill color you like
path.fill()
UIColor.redColor().setStroke()
path.stroke()
关于ios - UIBezierPath - byRoundingCorners - 矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30045025/