代码之家  ›  专栏  ›  技术社区  ›  Kenny Wyland

基于帧的动态笔划宽度的PaintCode表达式

  •  1
  • Kenny Wyland  · 技术社区  · 6 年前

    我有一个带有笔划的贝塞尔曲线,它包含在一个框架内。我的贝塞尔动态调整大小随着帧非常好,但笔划宽度是静态的,这使它看起来不好在小尺寸。(注意下面的小星星上的笔划是如何不成比例的。)

    enter image description here

    我的第一个想法是使笔划宽度(通常为5)成为一个基于以下内容的表达式 5.0*(frame.width/standardwidth) 但我不能引用frame变量。

    1 回复  |  直到 6 年前
        1
  •  1
  •   backslash-f    6 年前

    对我来说这是开箱即用的。即:

    版本:

    • 油漆代码3.4(34000)
    • 代码9.4.1(9F2000)

    油漆代码设置

    PaintCode Setup

    import Foundation
    import UIKit
    
    @IBDesignable class StarView: UIView {
    
        override func draw(_ rect: CGRect) {
            StyleKit.drawStarIcon(frame: rect)
        }
    }
    

    最终结果

    Final Result

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