【发布时间】:2015-11-15 00:54:03
【问题描述】:
我想在 Swift 2.0 中自定义一个 UIButton,如下图所示:
http://i.imgur.com/P8nGdHd.png
- 渐变从:#b1ffb1(浅绿色)到 #e7e7e7(白色/灰色)
- 描边:2dp 宽度,颜色为#999999(纯灰色)
- 20dp 的左上角/右上角半径
按下此按钮会变成灰色渐变
- 按下渐变:#717171(深灰色)到 #acacac(浅灰色)
- 笔画相同
- 半径相同
我的尝试:
我的应用中有很多按钮,几个按钮会有相同的外观。所以我觉得为我的自定义按钮创建单独的类是最佳的。
这是我复制那个按钮的原始尝试:
import Foundation
import UIKit
import QuartzCore
class CustomButtonTopGreen: UIButton {
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)!
self.layer.cornerRadius = 20;
self.layer.borderColor = UIColor.grayColor().CGColor
self.layer.borderWidth = 2
self.backgroundColor = UIColor.greenColor()
self.tintColor = UIColor.whiteColor()
}
}
产量: http://i.imgur.com/iUdX81W.png
所以我的问题是:
- 如何合并十六进制颜色代码?
- 如何添加渐变?
- 如何自定义各个角?
- 如何向此按钮添加“按下时”视图?
我对该主题进行了很多研究,但没有运气。我尝试将代码示例粘贴到我的代码中,尝试对其进行操作以查看它是否适合,但我仍然会遇到错误。
任何帮助将不胜感激!
【问题讨论】:
-
最简单的方法是对图像进行 Photoshop 处理并将其用作按钮的背景图像!!!!
-
这实际上是我现在所拥有的,问题是我希望我的按钮看起来尽可能与我的 Android 版本中的按钮相同(这都是在代码中完成的)。我不确定,也许我对它有点强迫症。
-
你不只是在android中截取你的按钮,并将其转换为所需大小的图像吗?
标签: ios xcode swift uibutton swift2