【问题标题】:Swift: Set UIButton Image with CGRectSwift:使用 CGRect 设置 UIButton 图像
【发布时间】:2015-06-13 04:48:09
【问题描述】:

我想设置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()

有没有办法做到这一点?

【问题讨论】:

    标签: ios swift uibutton cgrect uigraphicscontext


    【解决方案1】:

    试试这个代码:

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-09
      • 1970-01-01
      • 2017-03-14
      相关资源
      最近更新 更多