Swift: 使用 CGRect 设置 UIButton 图像
Swift: Set UIButton Image with CGRect
我想设置 UIButton
的图像,但不创建所有大小不同的资产。
因为它应该只是一个灰色的矩形,上面有一些文本,所以我试图通过创建一个 CGRect
来做到这一点。标题按要求显示,CGRect
描述的区域可以点击按钮,但是当我运行应用时,除了标题什么都看不到。我试图通过设置 tintColor
来解决这个问题,但无济于事。
这是我目前所拥有的。
@IBOutlet weak var swapButton: UIButton!
在viewDidLoad()
中:
var rectangle = CGRectMake(0, 0, view.layer.frame.width, 20)
UIGraphicsBeginImageContext(rectangle.size)
CGContextTranslateCTM(UIGraphicsGetCurrentContext(), rectangle.origin.x, rectangle.origin.y)
var rectangle2 = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
swapButton.setBackgroundImage(rectangle2, forState: .Normal)
swapButton.tintColor = UIColor.blackColor()
有什么办法可以做到这一点吗?
试试这个代码:
var yourbutton = UIButton(frame:CGRectMake(100, 100, 100, 35))
var rect = CGRectMake(0, 0, 1, 1)
UIGraphicsBeginImageContext(rect.size)
var context : CGContextRef = UIGraphicsGetCurrentContext()
CGContextSetFillColorWithColor(context, UIColor.blackColor().CGColor)
CGContextFillRect(context, rect)
var image : UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
yourbutton.setBackgroundImage(image, forState: UIControlState.Normal)
self.view.addSubview(yourbutton)
我想设置 UIButton
的图像,但不创建所有大小不同的资产。
因为它应该只是一个灰色的矩形,上面有一些文本,所以我试图通过创建一个 CGRect
来做到这一点。标题按要求显示,CGRect
描述的区域可以点击按钮,但是当我运行应用时,除了标题什么都看不到。我试图通过设置 tintColor
来解决这个问题,但无济于事。
这是我目前所拥有的。
@IBOutlet weak var swapButton: UIButton!
在viewDidLoad()
中:
var rectangle = CGRectMake(0, 0, view.layer.frame.width, 20)
UIGraphicsBeginImageContext(rectangle.size)
CGContextTranslateCTM(UIGraphicsGetCurrentContext(), rectangle.origin.x, rectangle.origin.y)
var rectangle2 = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
swapButton.setBackgroundImage(rectangle2, forState: .Normal)
swapButton.tintColor = UIColor.blackColor()
有什么办法可以做到这一点吗?
试试这个代码:
var yourbutton = UIButton(frame:CGRectMake(100, 100, 100, 35))
var rect = CGRectMake(0, 0, 1, 1)
UIGraphicsBeginImageContext(rect.size)
var context : CGContextRef = UIGraphicsGetCurrentContext()
CGContextSetFillColorWithColor(context, UIColor.blackColor().CGColor)
CGContextFillRect(context, rect)
var image : UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
yourbutton.setBackgroundImage(image, forState: UIControlState.Normal)
self.view.addSubview(yourbutton)