基于框架的动态笔划宽度的 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

https://github.com/backslash-f/paintcode-tests