0

我在标题右侧有一个带有标题和图像的 UIButton。但我想使用paintcode应用程序而不是在资产中使用图像来绘制图像。我该怎么做?

4

1 回答 1

2

您可以基于.xib文件创建可重用的小部件,该小部件将绘制您需要的所有内容,例如:

Reusable widget (loaded from a .xib)

 _____________________________________________
| UIView                                      | 
|     ___________________________________     |
|    | Button  |  Image (from PaintCode) |    |
|    |_________|_________________________|    |
|_____________________________________________|

...或在 PaintCode 本身(图像和文本)中执行所有操作,例如:

接线

...这将导致以下结果:

模拟器

您甚至可以@IBInspectable直接在Interface Builder中设置按钮的文本:

import Foundation
import UIKit

@IBDesignable class TextButton: UIButton {

    // MARK: Properties

    // The button's text can be set in Interface Builder.
    @IBInspectable var text: String = "HelloWorld!" {
        didSet {
            setNeedsDisplay() // Forces PaintCode to redraw.
        }
    }

    override var isHighlighted: Bool {
        didSet {
            setNeedsDisplay()
        }
    }

    override var isSelected: Bool {
        didSet {
            setNeedsDisplay()
        }
    }

    override var isEnabled: Bool {
        didSet {
            setNeedsDisplay()
        }
    }

    // MARK: Lifecycle

    override func draw(_ rect: CGRect) {
        StyleKit.drawTextButton(frame: rect, buttonLabelText: text)
    }
}

可检查的

既然你已经在使用 PaintCode,我会坚持下去,尽你所能。

查看 PaintCode 关于使用变量的文档

这是 Xcode 项目: https ://github.com/backslash-f/paintcode-tests

于 2018-04-07T16:08:30.363 回答