【问题标题】:How to set two colors in UIButton background如何在 UIButton 背景中设置两种颜色
【发布时间】:2016-01-30 19:51:45
【问题描述】:

我想在UIButton 背景中设置两种不同的颜色。我知道如何设置一种颜色或边框等。但我不知道如何在背景中设置两种不同的颜色。我展示了这个例子。我使用 Swift 2

【问题讨论】:

  • 您可能需要使用图像作为背景。我非常怀疑是否有一种方法可以像这样并排设置多种颜色。

标签: swift swift2 uicolor cgcolor


【解决方案1】:

您可以使用具有 2 对重复颜色的渐变:

let gradient: CAGradientLayer = CAGradientLayer()
gradient.frame = button.bounds
gradient.colors = [
    UIColor.greenColor().CGColor,
    UIColor.greenColor().CGColor,
    UIColor.blackColor().CGColor,
    UIColor.blackColor().CGColor
]

/* repeat the central location to have solid colors */
gradient.locations = [0, 0.5, 0.5, 1.0]

/* make it horizontal */
gradient.startPoint = CGPointMake(0, 0.5)
gradient.endPoint = CGPointMake(1, 0.5)

button.layer.insertSublayer(gradient, atIndex: 0)

您可以改变播放起点/终点的方向:

gradient.startPoint = CGPointMake(0, 0)
gradient.endPoint = CGPointMake(1, 1)

【讨论】:

    【解决方案2】:

    你可以使用CAGradientLayer来制作

    let layer : CAGradientLayer = CAGradientLayer()
    layer.frame.size = button.frame.size
    layer.startPoint = CGPointZero
    layer.endPoint = CGPointMake(1, 0)
    
    let colorGreen = UIColor.greenColor().CGColor
    let colorBlack = UIColor.blackColor().CGColor
    
    layer.colors = [colorGreen, colorGreen, colorBlack, colorBlack]
    layer.locations = [0.0, 0.5, 0.5, 1.0]
    
    button.layer.insertSublayer(layer, atIndex: 0)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-13
      • 2019-03-01
      • 1970-01-01
      • 2018-06-29
      • 2015-08-24
      • 2015-01-10
      • 1970-01-01
      • 2015-07-05
      相关资源
      最近更新 更多