基于框架的动态笔划宽度的 PaintCode 表达式
PaintCode expression for dynamic stroke width based on frame
我有一个包含在框架内的笔画的贝塞尔曲线。我的贝塞尔曲线随框架动态调整大小非常好,但笔划宽度是静态的,这使得它在小尺寸时看起来很糟糕。 (注意下面小星星上的笔划是如何不成比例的。)
我的第一个想法是使笔划宽度(通常为 5)成为一个基于类似 5.0*(frame.width/standardwidth)
的表达式,但我不允许引用框架变量。
如何创建一个表达式来根据框架宽度计算笔划宽度?或者以某种方式使笔划宽度像框架内的其余元素一样动态调整大小?
对我来说,这是开箱即用的。即:
"...以某种方式使笔划宽度像框架内的其余元素一样动态调整大小"
版本:
- PaintCode 3.4 (34000)
- Xcode 9.4.1 (9F2000)
- Swift 4.1.2
PaintCode Setup
Custom View
import Foundation
import UIKit
@IBDesignable class StarView: UIView {
override func draw(_ rect: CGRect) {
StyleKit.drawStarIcon(frame: rect)
}
}
Final Result
GitHub
我有一个包含在框架内的笔画的贝塞尔曲线。我的贝塞尔曲线随框架动态调整大小非常好,但笔划宽度是静态的,这使得它在小尺寸时看起来很糟糕。 (注意下面小星星上的笔划是如何不成比例的。)
我的第一个想法是使笔划宽度(通常为 5)成为一个基于类似 5.0*(frame.width/standardwidth)
的表达式,但我不允许引用框架变量。
如何创建一个表达式来根据框架宽度计算笔划宽度?或者以某种方式使笔划宽度像框架内的其余元素一样动态调整大小?
对我来说,这是开箱即用的。即:
"...以某种方式使笔划宽度像框架内的其余元素一样动态调整大小"
版本:
- PaintCode 3.4 (34000)
- Xcode 9.4.1 (9F2000)
- Swift 4.1.2
PaintCode Setup
Custom View
import Foundation
import UIKit
@IBDesignable class StarView: UIView {
override func draw(_ rect: CGRect) {
StyleKit.drawStarIcon(frame: rect)
}
}
Final Result
GitHub