内容简介:UI学习之常用UI控件UILabl 与 UIButton
UILabel的重要属性: textcolor
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 的大小会受影响
//6. 设置当前的显示行数,默认是一行,如果设置为 0 ,会自动换行
// 设置为 0 最常用
lable. numberOfLines = 0;
//7. 让 lable 根据文本来自动调整宽度和高度
//lable 的大小会受影响
[lable sizeToFit];
//8.
文本的打断方式
//
根据文本自动调整
Label
的宽度和高度
,
用处不大
lable.lineBreakMode = NSLineBreakByCharWrapping;
第二部分:UIButton的使用
代码测试:
//
设置按钮的方法
- ( 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;
}
- ( 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;
}