内容简介:UI学习之常用UI控件UILabl 与 UIButton
UILabel的重要属性:
textcolor
text
font
textAignment
numOflines;
代码测试:
UILabel
*lable = [[
UILabel
alloc
]
initWithFrame
:
CGRectMake
(50, 200, 100, 300)];
//1.设置背景颜色
//1.透明使用clearColor【特】
lable.
backgroundColor
= [
UIColor
purpleColor
];
//2.
设置文本内容
lable.
text
=
@"this is a UILable
,
I am using it"
;
//3.
设置字体
//3.1
使用系统样式
lable.
font
= [
UIFont
systemFontOfSize
:16];
//3.2
使用粗体
lable.
font
= [
UIFont
boldSystemFontOfSize
:16];
//3.3
使用字体类
//
打印出所有的字体类
NSArray
*familyNames = [
UIFont
familyNames
];
NSLog
(
@"familyNames is %@:"
,familyNames);
lable.font = [UIFont fontWithName:@"Zapf Dingbats" size:16];
//4.
设置字体颜色
lable.textColor = [UIColor redColor];
//5.
设置文本对齐方式
//UI
TextAlignmentCenter被弃用,最好不用
lable.
textAlignment
=
NSTextAlignmentCenter
;
//6.
设置当前的显示行数,默认是一行,如果设置为
0
,会自动换行
//
设置为
0
最常用
lable.
numberOfLines
= 0;
//7.
让
lable
根据文本来自动调整宽度和高度
//lable
的大小会受影响
[lable sizeToFit];
//8.
文本的打断方式
//
根据文本自动调整
Label
的宽度和高度
,
用处不大
lable.lineBreakMode = NSLineBreakByCharWrapping;
//
设置按钮的方法
- (
void
)_initButton{
UIButton
*btn =[
UIButton
buttonWithType
:
UIButtonTypeCustom
];
//UIButton
有两个属性
//buttonType:
按钮的显示样式类型
//titleLabel:
按钮标题文本
Label
对象
//1.
设置背景颜色
//
按钮的默认背景颜色是透明的,所有不设置背景颜色看不到
btn.
backgroundColor
= [
UIColor
yellowColor
];
//2.
对标题的操作
//2.1
设置标题文字内容
,
要结合状态才能设置成功
//
直接设置无效
//btn.titleLabel.text =@"hello";
//
设置了标题显示文字是在普通状态下的
[btn
setTitle
:
@"
未按下
"
forState
:
UIControlStateNormal
];
//
设置了标题显示是在高亮状态下的,也就是按住没有释放
[btn
setTitle
:
@"
正在按
"
forState
:
UIControlStateHighlighted
];
//
还可是设置其被选中状态的一些属性
//2.2
设置标题文字的颜色,也要结合状态才能设置成功
//
直接通过
titleLable
设置无效
///btn.titleLabel.textColor = [UIColor purpleColor];
//
设置文字颜色在普通状态下
[btn
setTitleColor
:[
UIColor
purpleColor
]
forState
:
UIControlStateNormal
];
//
设置文字颜色在高亮状态下
[btn
setTitleColor
:[
UIColor
redColor
]
forState
:
UIControlStateHighlighted
];
//2.3
对于按钮文本区标签的操作
//
设置文本标签的背景色
btn.
titleLabel
.
backgroundColor
= [
UIColor
cyanColor
];
//
设置标题的字体
,
通过标题来设置
,
btn.
titleLabel
.
font
= [
UIFont
boldSystemFontOfSize
:24];
//3.
按钮图片设置
//
获取两张图片
// imageNamed:
在当前工程目录下找到名字为
“”
的图片
,
如果图片是
png
格式的,可以不加
.png
,但是建议还是添加上
UIImage
*image1 = [
UIImage
imageNamed
:
@"back_on_black.png"
];
UIImage
*image2 = [
UIImage
imageNamed
:
@"back_on.png"
];
//设置图片同样要和状态结合
//3.1
方式一:直接设置成背景图片,
//
优点:和
title
配合,缺点:修改按钮大小图片会随buntton的frame拉伸
//[btn setBackgroundImage:image1 forState:UIControlStateNormal];
//[btn setBackgroundImage:image2 forState:UIControlStateHighlighted];
//3.2
方式二:非背景图片设置
//
优点:图片不会拉伸变形
缺点;与
title
的位置会错位
[btn
setImage
:image1
forState
:
UIControlStateNormal
];
[btn
setImage
:image2
forState
:
UIControlStateHighlighted
];
//4.
为按钮添加事件
[btn
addTarget
:
self
action
:
@selector
(btnClick:)
forControlEvents
:
UIControlEventTouchUpInside
];
//5.
如何使用了非背景图的设置,可以通过下面的方法重新布局
//
设置
titleLabel
的偏移量
[btn
setTitleEdgeInsets
:
UIEdgeInsetsMake
(0, -100, 0, 0)];
[btn
setImageEdgeInsets
:
UIEdgeInsetsMake
(0, 30, 0, 0)];
//6.
设置按钮是否可用
// btn.enabled = NO;
//7.
是否响应触摸事件
// btn.userInteractionEnabled = NO;
btn.
frame
=
CGRectMake
(50, 50, 200, 50);
[
self
.
window
addSubview
:btn];
}
//
配合按钮的响应处理
- (
void
)btnClick:(
UIButton
*)btn{
//btn.selected = !btn.selected;
}