您的位置:首页 > 产品设计 > UI/UE

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: