UI_day1_总结

如果想要在屏幕上显示出内容

必须创建一个叫做UIWindow的对象,因为要想显示内容到屏幕上,就必须把内容添加到UIWindow对象内部,Window负责将内容绘制到屏幕上

模拟器

com+1/2/3/4调整模拟器大小

com+shift+h模拟home键

com+shift+h+h 查看运行后台

com+L 锁屏

模拟器异常:强制关闭模拟器com + option + esc

1 window

1.1.1 创建window对象

self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];

等同于自己添加分辨率CGRect rect = CGRectMake (0,0,375,667);

self.window = [[UIWindow alloc]iniWithFrame:rect];

1.1.2 显示window对象 [self.window makeKeyAndVisible];

1.1.3 设置背景颜色 self.window.backgroundColor = [UIColor whiteColor];

1.1.4 移交管理权  self.window.rootViewController = [[MyView alloc]init];

1.1.5 获得支持的字体 NSArray * array = [UIFont familyNames];    NSLog(@“%@”,array);

2 UIButton

2.1.1 创建button对象 UIButton * button = [[UIButton alloc]init];

类方法快速创建UIButton * button=[UIButton buttonWithType:UIButtonTypeCustom];

2.1.2 建立父子关系 [self.view addSubview:button];

2.1.3 设置正确的frame值 button.frame = CGRect(x, y, w, h);

2.1.4 设置背景颜色 button.backgroundColor = [UIColor lightGrayColor];

2.1.5 设置提示内容(默认UIControlStateNormal,高亮UIControlHighlighted)

[button setTitle:@“默认状态” forState:UIControlStateNormal]

2.1.6 修改文字大小 button.titleLabel.font = [UIFont systemFontOfSize:20];

2.1.7 不同状态显示不同字体颜色

[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

2.1.8 设置不同状态下的背景图片

[button setBackgroundImage:[UIImage imageName] forState:UIControlStateNormal];

//CGFloat top, left, bottom, right;

//button.contentEdgeInsets = UIEdgeInsetsMake(0, -100, 0, 0);

button.imageEdgeInsets = UIEdgeInsetsMake(-40, 0, 0, 0);

button.titleEdgeInsets = UIEdgeInsetsMake(50,-100,0,0);

3.UILabel

2.1.1 创建label对象 UILabel * label = [[UILabel alloc]init];

2.1.2 建立父子关系 [self addSubview:label];

2.1.3 设置正确的frame label.frame = CGRectMake(x,y,w,h);

2.1.4 背景颜色 label.backgroundColor = [UIColor greenColor];

2.1.5 添加文字 label. text = @“label”;

2.1.6 文字颜色 label.textColor = [UIColor blueColor];

2.1.7 文字大小 label.font = [UIFont systemFontOfSize:40];

2.1.8 文字位置 label.textAlignment = NSTextAlignmentCenter;

2.1.9 附加

2.1.9.1改变字体样式,同时改变字体的大小

label.font = [UIFont fontWithName:@"Copperplate" size:30];

2.1.9.2显示的行数不确定,只需要给定0就可以,默认是1行

label.numberOfLines = 0;

2.1.9.3想要动态的计算UILabe的高度

1.UILabel的numberOfLines 必须设置为 0

2.UILabel对象的字体大小,必须与动态计算条件中给定的字体大小完全相同

3.参考的size,必须有一个值作为参考的临界点

根据要显示的具体内容,动态计算Frame的高度

NSStringDrawingUsesLineFragmentOrigin 最常用选项,

CGFLOAT_MAX 无限大

CGSize size = CGSizeMake(100, CGFLOAT_MAX);

NSFontAttributeName 代表字体属性的意思

NSDictionary * attributes = @{NSFontAttributeName:[UIFont systemFontOfSize:13]};

size = [textContent boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin attributes:attributes context:nil].size;

专门用来设置,字体相关属性的对象

NSMutableAttributedString * attString = [[NSMutableAttributedString alloc] initWithString:@"ios"];

NSDictionary * attributes = @{NSFontAttributeName:[UIFont systemFontOfSize:30],NSForegroundColorAttributeName:[UIColor yellowColor]};

[attString setAttributes:attributes range:NSMakeRange(0, 1)];

NSFontAttributeName 设置文字的字体

NSForegroundColorAttributeName 设置文字的颜色

NSUnderlineStyleAttributeName 设置是否显示下划线

NSUnderlineColorAttributeName 设置下划线颜色

NSMakeRange(0, 1)代表属性要影响的范围

NSDictionary * attributes2 = @{NSFontAttributeName:[UIFont systemFontOfSize:50],NSForegroundColorAttributeName:[UIColor redColor],NSUnderlineStyleAttributeName:@(1),NSUnderlineColorAttributeName:[UIColor blackColor]};

[attString setAttributes:attributes2 range:NSMakeRange(1, 1)];

label.attributedText = attString;

4 UIView   屏幕上的所有组件都继承自UIView父类(UIButton, UILabel,UIWindow),都是在UIKit框架中

4.1.1 创建组件对象    UIView * view = [[UIView alloc]init];

4.1.2 建立父子关系   [self.window addSubview:view];

4.1.3 设置正确的frame   view.frame = CGRectMake(x,y,w,h);

4.1.4 设置背景颜色  view.backgroundColor = [UIColor greenColor];

盒子模型,UI组件开发中是遵循一个盒子原则

被管理的子控件的坐标,永远是找它的直接管理父亲控件,作为参考

5 网上书店

5.1.1  设置要显示的行数和列数,以此计算x,y,w,h

int totalColom = 3;//列

int totalRow = 4;//行

5.1.2  创建视图对象

创建组件对象    UIView * bookView = [[UIView alloc]init];

建立父子关系    [self.view addSubview:bookView];

设置正确的frame bookView.frame = 动态计算的各个值

5.1.3  创建显示图书图片的button

创建组件UIButton * bookImageButton = [UIButton buttonWithType:UIButtonTypeCustom];

建立父子关系[bookView addSubview:bookImageButton];

设置正确frame bookView.frame = CGRectMake(x,y,w,h);

添加背景图片 [bookImageButton setBackgroundImage:[UIImage imageNamed:@“a”]  forState: ];

5.1.4  创建显示书名的label

5.1.5  创建下载按钮

5.1.6  响应下载按钮的点击

时间: 2024-10-23 01:29:57

UI_day1_总结的相关文章