UIView
2015-08-17 10:29
357 查看
UIView为所有控件的父类
关于视图控制器
视图控制器用来控制view和model之间的交互,在IOS中,用UIViewController表示视图控制器此类中有一些特定的方法需要开发者在开发过程中完成
1、初始化的方法
2、加载视图的方法
3、控制视图横竖屏的方法
4、内存管理方法
1、初始化的方法
初始化方法有两个
/[b]*********[/b]初始化方法[b]***********[/b]/
- (id)init {
[code] if (self = [super init]) { } return self; } - (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { } return self; }
2、加载视图的方法
(1)加载视图时调用的方法
[code]- (void)loadView { }
(2)加载完成时调用的方法
[code]- (void)viewDidLoad { }
以上两个方法在视图控制类被实例化之后,只会执行一次,以后不会提及
(3)视图将要出现调用的方法
[code]- (void)viewWillAppear:(BOOL)animated { //视图将要出现 [super viewWillAppear:animated]; NSLog(@"视图将要出现"); }
(4)视图已经出现调用的方法
[code]- (void)viewDidAppear:(BOOL)animated { //视图已经出现 [super viewDidAppear:animated]; NSLog(@"视图已经出现"); }
(5)视图即将消失调用的方法
[code]- (void)viewWillDisappear:(BOOL)animated { //视图将要消失 [super viewWillDisappear:animated]; NSLog(@"视图将要消失"); }
(6)视图已经消失调用的方法
[code]- (void)viewDidDisappear:(BOOL)animated { //视图已经消失 [super viewDidDisappear:animated]; NSLog(@"视图已经消失"); }
布局视图:视图控制器的根视图或子视图的位置大小(frame)发生改变时,将会执行以下两个方法
(7)将要重新布局视图调用的方法
[code]- (void)viewWillLayoutSubviews { NSLog(@"1"); [super viewWillLayoutSubviews]; }
(8)新布局已经完成调用的方法
[code]- (void)viewDidLayoutSubviews { [super viewDidLayoutSubviews]; NSLog(@"2"); }
小结:
1、一个控制器必带一个根视图,根视图控制器所展示的页面为根视图的页面;2、一个视图有且仅有一个父视图,可以有多个兄弟视图和子视图
3、每个视图都有添加子视图的方法:addSubview
4、UIView类有3个属性:bounds,frame,center
frame和bounds的区别
(1)frame:有参照物,参照物为父视图的左上角
(2)bounds:参照物为自己
5、用户交互方面;
view1.userInteractionEnabled = YES;//只有相框默认为no,其他都为YES,表示不允许用户交互,即用户不可以点击
6、每个view都有一个tag属性
UIView *view = [self.view viewWithTag:100];//返回值类型不是UIView可以以强制转换,返回tag为100的view
相关文章推荐
- iOS的UITableView的基础数据使用
- Leetcode#53||Maximum Subarray
- Codeforces Round #316 (Div. 2) D. Tree Requests (DFS序)
- Ubiquitous Religions
- EasyUI 基本的拖动和放置
- iOS开发- UICollectionView详解+实例
- EasyUI禁用控制方法常采用
- Android GUI之View布局
- UIButton 点击热区的扩大
- IOSUITableView 反选 全选 删除按钮的实现
- Jersey接收Json报400(Bad Request)
- serialVersionUID作用
- [LeetCode] Add Digits (a New question added)
- 使用 SOAPUI 执行负载测试
- HTML滚动文字代码 marquee标签
- Java的UUID生成工具并发测试
- Fine UI 配置文件说明
- Learn from Architects of Buildings
- codeforces 560 D. Equivalent Strings(分治)
- [leetcode][stack] Implement Queue using Stacks