OC笔记 - UI基础控件(2015.2.3)
来源:互联网 发布:淘宝店铺收藏怎么做 编辑:程序博客网 时间:2024/06/07 18:25
1.UIViewController
每当显示一个新界面时,首先会创建一个新的UIViewController对象,然后创建一个对应的全屏UIView,UIViewController负责管理这个UIView
UIViewController就是UIView的大管家,负责创建、显示、销毁UIView,负责监听UIView内部的事件,负责处理UIView与用户的交互
UIViewController内部有个UIView属性,就是它负责管理的UIView对象 :
@property(nonatomic,retain) UIView *view;
2.退出键盘
resignFirstResponder
当叫出键盘的那个控件(第一响应者)调用这个方法时,就能退出键盘
endEditing
只要调用这个方法的控件内部存在第一响应者,就能退出键盘
3.UI控件的基本属性
每一个UI控件都是一个对象
修改UI控件的状态,其实就是修改控件对象的属性
比如修改UILabel显示的文字,就修改UILabel对象的text属性即可
比如修改UIImageView显示的图片,就修改UIImageView对象的image属性即可
不难想到,每一个UI控件肯定都有很多属性,比如:
UIProgressView进度条控件有progress属性(进度值)
UILabel和UITextField都有text属性(显示文字)
… …
虽然,每一个UI控件都有自己的独特属性,但是有些属性是每个UI控件都具备的,比如每一个UI控件都有自己的位置和尺寸、都有自己的父控件、子控件。于是,所有的UI控件最终都继承自UIView,UI控件的公共属性都定义在UIView中,比如:
frame :位置和尺寸
center :中心点位置
比如点击“向上”按钮,让按钮的y值减小即可
- (IBAction)top:(UIButton *)sender { CGRect btnFrame = self.headBtn.frame; btnFrame.origin.y -= 10; self.headBtn.frame = btnFrame;}
下面代码是错误的,OC语法规定:不允许直接修改对象的结构体属性的成员
self.headBtn.frame.origin.y -= 10;
4. autolayout
如果发现通过代码无法修改控件的位置或者尺寸时,应该去掉storyboard里面的autolayout功能,这是自iOS6开始出现的特性。顾名思义,autolayout是用来自动布局的,用来束缚控件的位置和尺寸。去掉这个功能,控件的位置和尺寸就不再有一些固定的束缚。
5.动画的实现
简易动画大致有2种方式:
头尾式
[UIView beginAnimations:nil context:nil];//开始动画 [UIView setAnimationDuration:1.5];//动画持续时间/** 需要执行动画的代码 **/[UIView commitAnimations];//结束动画
Block式
UIView animateWithDuration:0.5 animations:^{ /** 需要执行动画的代码 **/}];
6. 通过代码创建控件
#pragma mark - 通过代码创建按钮 //1.创建按钮 UIButton *btn = [[UIButton alloc]init]; //2.将按钮添加到视图中 [self.view addSubview:btn]; //3.设置按钮的frame btn.frame = CGRectMake(50, 50, 100, 100); //4.设置背景图片 //4.1.通过文件名加载图片(凡是PNG图片,都不用加拓展名) UIImage *image = [UIImage imageNamed:@"btn_01"]; //4.2.设置普通状态下的背景图片 [btn setBackgroundImage:image forState:UIControlStateNormal]; //4.3.设置高亮图片 UIImage *image2 = [UIImage imageNamed:@"btn_02"]; [btn setBackgroundImage:image2 forState:UIControlStateHighlighted]; //5.设置文字 [btn setTitle:@"瞅啥瞅" forState:UIControlStateNormal]; [btn setTitle:@"矜持点" forState:UIControlStateHighlighted]; //6.设置文字颜色 [btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; [btn setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted]; //7.监听按钮点击 [btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; //另一种方式创建按钮 UIButton *btn2 = [UIButton buttonWithType:UIButtonTypeContactAdd]; //设置按钮位置 btn2.center = CGPointMake(50, 50); //监听按钮点击 [btn2 addTarget:self action:@selector(btn2Click) forControlEvents:UIControlEventTouchUpInside]; //将按钮加入到视图 [self.view addSubview:btn2];
- OC笔记 - UI基础控件(2015.2.3)
- OC-- UI基础笔记
- OC基础笔记3
- UI基础控件(一)
- OC笔记之控件篇(一)
- Objective-C基础笔记(3)OC的内存管理
- ios学习笔记--(oc基础3)
- 黑马程序员---学习笔记16:OC基础(3)
- OC UI学习中的笔记
- UI 基础控件(一)-----------UILabel
- UI基础控件(二)-------- UITextField
- 【Android基础】(7)UI控件(一)
- 【Android基础】(8)UI控件(二)
- 【Android基础】(9)UI控件(三)
- UI基础控件一
- IOS UI基础控件
- UI基础控件总结
- UI, 基础控件,ToolBar,...
- HDU 1013Digital Roots 吃完饭,水个题。
- 数据结构实验:连通分量个数
- Activity Intent FLAG 详解
- Hadoop的HDFS文件存储实现机制
- hadoop中的Configuration对象是什么有什么用?
- OC笔记 - UI基础控件(2015.2.3)
- QC,CZ合体记
- register_chrdev_region()和registe_chrdev()
- 中断和异常
- 网络编程小知识——设置TIME_WAIT参数
- 15 第十五天【健身】
- Sql 映射文件
- 骰子涂色(Cube painting)
- protobuf一些注意事项