UIlable总结
UI 是user interface 的简称 用户界面
UI 是需求文档的内容转换成项目框架
好得UI 能增强用户的体验
UIKit 详解
UILabel 标签控件 只是起到提示的作用 标签控件不能与用户进行交换
所有控件都是继承与UIkit
UILable 的直接父类是 UIView 试图
UILablel 称为标签空控件 只是用来提示信息 不能用户交互
// <1>创建UILable 对象
UILabel * lable1 = [[UILabel alloc]init];
// <2>设置lable的显示位置及大小
// 设置lable1的坐标就是设置lable1左上角坐标原点 相对父试图的坐标原点的偏移位置
// 状态栏的高对为20 像素
lable1.frame = CGRectMake(10, 30, 300, 40);
// <3>设置label的背景颜为白色
// 默认是白色
lable1.backgroundColor = [UIColor cyanColor];
// 将label1添加到窗口上
[self.window addSubview:lable1];
// label就是子试图 self.window就是父视图
// [注意]UIWindow 是 UIView的子试图
// <4>为标签控件添加文字信息
lable1.text = @"work";
// <5>设置文字的显示位置
lable1.textAlignment = NSTextAlignmentCenter;
// <6>设置文字的颜显示颜色 默认颜色为黑色
lable1.textColor = [UIColor redColor];
// <7>设置字体大小
lable1.font = [UIFont systemFontOfSize:32];
// (2)设置样式和大大小 (样式是由美工决定 此处只需要导入字体库的名称即可)
// 获取字体样式的字体
// 获取所有系统样式
NSArray * fontName = [UIFont familyNames];
NSLog(@"%@",fontName);
// 该字体只对英文有作用
lable1.font = [UIFont fontWithName:@"Bodoni Ornaments" size:24];
// <8>设置文字的阴影效果
// 设置阴影的偏移量和位置
label2.shadowOffset = CGSizeMake(-2, 2);
// 设置阴影的颜色
label2.shadowColor = [UIColor blueColor];
//<9>设置文字信息的分行 自动设置行数 那么这个值为0
lable3.numberOfLines = 0;
//<10>设置文字的分行效果 (以单词分行还是以字母分行)
/*
NSLineBreakByWordWrapping
NSLineBreakByCharWrapping
NSLineBreakByClipping,
*/
label3.lineBreakMode = NSLineBreakByWordWrapping;
// 时间计时器
/改变窗口的背景颜色
//每隔0.01s变一次背景颜色
//NSTimer计时器类
/*
1、间隔的时间 时间是以秒为单位
2、对象指针 selector后面的方法在哪个类中实现此处就写那个类的对象指针 一般的时候此处的对象指针都是self
3、每隔相同时间触发的方法的方法名称
4、对象指针 (当selector后面的方法失效的时候 使用哪个类的对象指针接收) 一般的时候都是采用系统默认的对象指针 也就是nil
5、是否重复执行selector后面的方法
*/
[NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(changeBackGroundColor) userInfo:nil repeats:YES];
-(void)changeBackGroundColor
{
//每隔0.01s就会调用一次该方法
//颜色的取值范围是(0 ~255.0)
static int count = 10;
count ++;
self.window.backgroundColor = [UIColor colorWithRed:(count * 10 % 255)/255.0 green:(count * 20 % 255)/255.0 blue:(count * 30 % 255)/255.0 alpha:1];
//alpha 透明度
//[0,1] 0表示完全透明 1表示完全不透明
}
//每隔0.1秒改变label原点的坐标
//<1>设置label每次偏移的横纵坐标的变化值
static int distanceX = 1;
static int distanceY = 1;
//static修饰的局部变量 延长了局部变量的生命周期 static修饰的局部变量每一次运行都会保留上一次运行的结果
//<2>获取当前label的显示位置 及大小
//通过tag值获取label
UILabel * label = (UILabel *)[self.window viewWithTag:100];
//viewWithTag该方法必须通过父视图的对象指针调用 返回值类型为(UIView*) 需要进行强制类型转换
//frame 对应两个属性值 origin size
//origin是CGPoint类型 size是CGSize类型
CGPoint point = label.frame.origin;
CGSize size = label.frame.size;
//对window上的所有label的坐标重新设置
//获取self.window上的所有label
//<12>获取父视图上所有子视图
NSArray * subViews = [self.window subviews];
int count = 0;
for(UILabel * temoLabel in subViews)
{
//每个UIView视图都有自带动画效果
[UIView animateWithDuration:0.75 animations:^{
temoLabel.frame = CGRectFromString(frameArray[count]);
//CGRectFromString将一个字符串转化成CGRect类型的数据
} completion:nil];
count ++;
}