UIButton也是一个在IOS开发中最常用到的UI控件之一,
UIButton也是继承自UIControl。
UIButton的初始化创建有两种:
常规的 initWithFrame
UIButton
*btn=[[
UIButton alloc
]
initWithFrame
:
CGRectMake
(
50
,
50
,
100
,
40
)];
btn.
backgroundColor
=[
UIColor redColor
];
[
self.
view addSubview:btn];
这种方法创建出来的UIButton无法设置样式,自动默认样式。
UIButtonTypeCustom = 0,
// 自定义,无风格
类方法创建 buttonWithType
UIButton
*btn=[
UIButton buttonWithType:UIButtonTypeRoundedRect
];
btn.
frame=
CGRectMake(
50,
50,
100,
40);
btn.
backgroundColor
=[
UIColor redColor
];
[
self.
view addSubview:btn];
类方法创建出来的UIButton可以自定义样式,其中包括下面几种样式:
UIButtonTypeCustom = 0,
// 自定义,无风格
UIButtonTypeRoundedRect,
// 白色圆角矩形,类似偏好设置表格单元或者地址簿卡片
UIButtonTypeDetailDisclosure,
//蓝色的披露按钮,可放在任何文字旁
UIButtonTypeInfoLight,
//微件(widget)使用的小圆圈信息按钮,可以放在任何文字旁
UIButtonTypeInfoDark, //白色背景下使用的深色圆圈信息按钮
UIButtonTypeContactAdd,
//蓝色加号(+)按钮,可以放在任何文字旁
(1) 给
UIButton设置文字标题信息
[btn
setTitle:
@"我是Button"
forState:UIControlStateNormal
];
当然在这里还可以设置UIButton文字信息的颜色,使用下面代码属性:
[btn
setTitleColor
:[
UIColor greenColor] forState:UIControlStateNormal
];
(2) 给
UIButton设置图片
给
UIButton设置图片有两种效果,一种是把图片贴到UIButton上,另一种是把一张图片弄成UIButton,效果分别是这样的:(前提是你要先导入图片素材到你的项目里面)
[btn
setImage:[UIImage imageNamed:
@"1"]
forState:UIControlStateNormal];
[btn
setBackgroundImage:[UIImage imageNamed:
@"1"
]
forState:UIControlStateNormal
];
(3) UIButton的forState
前面看到不少的
forState:UIControlStateNormal,这个参数决定了标题、图像或其他属性将在何种状态下显现,一般有下面几种状态:
UIControlStateNormal
// 正常状态
UIControlStateHighlighted
// 高亮状态
UIControlStateDisabled
// 禁用状态
UIControlStateSelected
// 选中状态
UIControlStateApplication
// 当应用程序标志时
UIControlStateReserved
// 保留状态
一般来说我们只要会使用前四种就差不多了,后面两种我也木有用过!
(4)
UIButton的点击事件
我们都知道UIButton最强大的作用是用来实现某个点击事件的,所有我们就要给他添加一个动作:
[btn
addTarget:
self
action
:
@selector
(touch:)
forControlEvents:UIControlEventTouchUpInside
];
然后在 - (
void)viewDidLoad{} 外面去实现UIButton的动作
-(
void)touch:(
UIButton*)sender{
NSLog
(
@"你点击的是一个UIButton"
);
//在这点动作执行方法里面你可以设置你想要发生的一系列动作等!
}
(5)
UIButton的一些其他属性
我们有时候会看到一个button点击时候会发亮,这就用到下面的属性:
[btn s
etShowsTouchWhenHighlighted:
YES
];