我有一个带有笔划的贝塞尔曲线,它包含在一个框架内。我的贝塞尔动态调整大小随着帧非常好,但笔划宽度是静态的,这使它看起来不好在小尺寸。(注意下面的小星星上的笔划是如何不成比例的。)
我的第一个想法是使笔划宽度(通常为5)成为一个基于以下内容的表达式 5.0*(frame.width/standardwidth) 但我不能引用frame变量。
5.0*(frame.width/standardwidth)
对我来说这是开箱即用的。即:
版本:
油漆代码设置
import Foundation import UIKit @IBDesignable class StarView: UIView { override func draw(_ rect: CGRect) { StyleKit.drawStarIcon(frame: rect) } }
最终结果
https://github.com/backslash-f/paintcode-tests