我在标题右侧有一个带有标题和图像的 UIButton。但我想使用paintcode应用程序而不是在资产中使用图像来绘制图像。我该怎么做?
问问题
189 次
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,我会坚持下去,尽你所能。
这是 Xcode 项目: https ://github.com/backslash-f/paintcode-tests
于 2018-04-07T16:08:30.363 回答