前面我们讲完了控件的父类,现在让我们正式进入基础控件的讲解,现在来讲解第一个UI基础控件UIButton:
1.UIButton的类型
在UIButton里面有分几种类型,让我们来看看:
enum UIButtonType : Int {
// 1.自定义类型
case Custom
// 2.系统类型
case System
// 3.信息类型
case DetailDisclosure
// 4.也是信息类型
case InfoLight
// 5.也是信息类型
case InfoDark
// 6.添加类型
case ContactAdd
}
这里就是UIButton的样式:
下面是我们设置Button时的状态:
struct UIControlState : RawOptionSetType {
init(_ rawValue: UInt)
init(rawValue: UInt)
// 1.UIButton正常的状态
static var Normal: UIControlState { get }
// 2.UIButton高亮的状态
static var Highlighted: UIControlState { get }
// 3.UIButton禁用的状态
static var Disabled: UIControlState { get }
// 4.UIButton选择的状态
static var Selected: UIControlState { get }
// 5.UIButton标志该应用可用(忽略,没用过这个状态)
static var Application: UIControlState { get }
// 6.UIButton保留状态
static var Reserved: UIControlState { get }
}
2.常用属性
在我们的UIButton里面也有一些我们常用的属性和一些不常用的属性,不常用的属性我们只是带一下就可以了,如果有需要的话再去仔细研究:
// 1.设置UIButton的标题,以及状态
func setTitle(title: String?,forState state: UIControlState)
// 2.设置UIButton的标题颜色,以及状态
func setTitleColor(color: UIColor?,forState state: UIControlState)
// 3.设置UIButton的前置图,以及状态
func setImage(image: UIImage?,forState state: UIControlState)
// 4.设置UIButton的背景图,以及状态
func setBackgroundImage(image: UIImage?,forState state: UIControlState)
// 5.设置UIButton的阴影颜色,以及状态
func setTitleShadowColor(color: UIColor?,forState state: UIControlState)
PS: UIButton是可以设置两张图片,一张是前置图,一张是背景图,但这里要注意一下,如果你同时设置了前置图和title的话,那么UIButton的显示效果就不太正常了.
3.演示
下面让我们来看看UIButton的演示:
创建好的工程就是这样子的了:
func myButton() {
// 1.创建UIButton,并且设置为Custom样式
var button: UIButton = UIButton.buttonWithType(UIButtonType.Custom) as UIButton
// 2.设置UIButton的坐标轴
button.frame = CGRectMake(100,200,100,40)
// 3.设置UIButton的背景色
button.backgroundColor = UIColor.redColor()
// 4.设置UIButton的Normal状态下的title
button.setTitle("我是按钮",forState: UIControlState.Normal)
// 5.设置UIButton的Normal状态下的title颜色
button.setTitleColor(UIColor.blackColor(),forState: UIControlState.Normal)
// 6.设置UIButton的Highlighted状态下的title
button.setTitle("哎哟被点了",forState: UIControlState.Highlighted)
// 7.设置UIButton的Highlighted状态下的title颜色
button.setTitleColor(UIColor.greenColor(),forState: UIControlState.Highlighted)
// 8.设置UIBUtton的Noraml状态下的title阴影颜色
button.setTitleShadowColor(UIColor.whiteColor(),forState: UIControlState.Normal)
// 9.设置UIButton的Highlighted状态下的title阴影颜色
button.setTitleShadowColor(UIColor.darkGrayColor(),forState: UIControlState.Highlighted)
// 10.添加UIBUtton在touchUpInside点击下的监听方法
button.addTarget(self,action: "buttonTarget:",forControlEvents: UIControlEvents.TouchUpInside)
// 其他属性
// 11.设置Button的内容位置
button.contentEdgeInsets = UIEdgeInsetsMake(100,0,0)
// 12.添加到self.view上
self.view.addSubview(button)
}
// 13.UIButton的被监听方法
func buttonTarget(sender: UIButton!) {
// 14.随便打印一些值
println("点击我干嘛?")
// 15.删除监听方法
sender.removeTarget(self,forControlEvents: UIControlEvents.TouchUpInside)
}
override func viewDidLoad() {
super.viewDidLoad()
self.myButton()
}
运行之后的效果图:
PS: 模拟器的背景色是在别的地方修改了,所以这里大家就不要纠结了,而模拟器左边的几个按钮,就是上面为了让大家看到的样式例子,这里也不需要纠结,中间红色的那个Button才是我们用代码直接创建的.
好了这次我们就讲到这里,下次我们继续~~~