Swift UIButton标题+;图像使用Paintcode应用程序
我有一个UIButton,标题右侧有标题和图像。但是我想用paintcode应用程序来绘制图像,而不是用资产中的图像。我怎么做 您可以基于Swift UIButton标题+;图像使用Paintcode应用程序,swift,image,uibutton,paintcode,Swift,Image,Uibutton,Paintcode,我有一个UIButton,标题右侧有标题和图像。但是我想用paintcode应用程序来绘制图像,而不是用资产中的图像。我怎么做 您可以基于.xib文件创建一个可重用的小部件,该小部件将绘制您需要的所有内容,例如: Reusable widget (loaded from a .xib) _____________________________________________ | UIView | | ___
.xib
文件创建一个可重用的小部件,该小部件将绘制您需要的所有内容,例如:
Reusable widget (loaded from a .xib)
_____________________________________________
| UIView |
| ___________________________________ |
| | Button | Image (from PaintCode) | |
| |_________|_________________________| |
|_____________________________________________|
。。。或者在PaintCode本身(图像和文本)内执行所有操作,例如:
。。。这将导致以下情况:
您甚至可以使用@IBInspectable
直接在界面生成器中设置按钮的文本:
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项目:
您可以基于
.xib
文件创建一个可重用的小部件,它可以绘制您需要的所有内容,例如:
Reusable widget (loaded from a .xib)
_____________________________________________
| UIView |
| ___________________________________ |
| | Button | Image (from PaintCode) | |
| |_________|_________________________| |
|_____________________________________________|
。。。或者在PaintCode本身(图像和文本)内执行所有操作,例如:
。。。这将导致以下情况:
您甚至可以使用@IBInspectable
直接在界面生成器中设置按钮的文本:
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项目:
您需要一个自定义UIButton来完成此操作,因为PaintCode不生成UIImage。@4kman,我有一个自定义按钮,但如果我在override func draw(rect:CGRect){}中添加paintCodeApp生成的代码,它只会在整个按钮中绘制。您需要一个自定义UIButton来完成此操作,因为PaintCode不生成UIImage。@4kman,我有一个自定义按钮,但是如果我在override func draw(rect:CGRect){}中添加paintCodeApp生成的代码,它只会在整个按钮中绘制。