失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > iOS中视图控制器指定自定义UIView

iOS中视图控制器指定自定义UIView

时间:2020-05-24 08:51:57

相关推荐

iOS中视图控制器指定自定义UIView

他的好处就是在程序执行viewDIdLoad之前可以把我们需要用的数据加载完成.这也是减轻控制器的负担之一的办法.但是我个人觉得好是每有数据的延迟加载的功能牛.延迟加载只在数据需要的时候才被加载到视图,而不是一下子全部加载.

------------------------------------------------------------------------------------------------------------------

在创建之前,来比较一个指定自定义VIEW和自定义视图控件的区别

相同之处:

在创建的时候,第三步是一样的

不同之处:

第一步是不同的:

自定义视图控件:

在使用该自定义视图控件前,就要形成一个功能相对稳定,布局完成的,可复用性强的view.

并且在该视图的.h文件中声明了该视图中所拥用到的所有的属性.

在.m文件中要实现要实现对该控件的初始化功能,并添加到视图中.

指定自定义的View:

等价与一个新开辟的控制器,可以很随意的去设置页面的内容.

第二步是不同的:

自定义视图控件:

在使用该视图控件的时候,先引入头文件类,然后拿出视图进行初始化控制,在赋值的时候,方可去除视图的属性来赋值操作. 而后在添加到当前视图中

指定自定义的View:

1:首先要是控制器中的.h文件中声明一个类型为uiview的属性

2:在调用的时候,要映入头文件.

要自定义指定view的时候就要在该控制器的.m文件中重写-(void)loadView的方法.并且在里面完成两步操作.

2.1:去除自定的view给当前属性的uiview

2.2:把当前属性的uiview给当前的self.view

----------------------------------------------------------------------------------------------------

创建步骤如下:

1:首先创建一个控制器继承自UIView

2:创建一个uiviewcontroller,在.h文件中引入我们创建的view,并且声明一个为uiview的属性,在.m文件中引入自定义的uiview,并且在.m中重写loadview方法.

3:在appdelgate.m设置启动文件.

实现方法如下

1:创建一个loginView继承自UIView,我们这里只在该文件的.m文件中实现把该窗口的背景搞成红色

- (id)initWithFrame:(CGRect)frame

{

self = [super initWithFrame:frame];

if (self) {

// Initialization code

self.backgroundColor = [UIColorredColor];

}

return self;

}

2:创建一个控制器MainViewController继承自UIViewController

在该控制器的.h文件中引入loginView类

声明属性@property(nonatomic,retain)UIView *Rview;

——————————————————————————————————————————————

在MainViewController.m文件中同样引入loginView类,并且在实现的时候要重写父类的loadView方法

-(void)loadView

{

/**

* 取出logview给self.Rview

*/

self.Rview = [[[loginView alloc] initWithFrame:[UIScreen mainScreen].bounds]autorelease];

/**

* 替换视图

*/

self.view = self.Rview;

}

3:在appdelegate.m中设置启动控制器

引入头文件 #import“loginView.h"

实现代码如下

MainViewController *mvc = [[MainViewController alloc] init];

self.window.rootViewController = mvc;

如果觉得《iOS中视图控制器指定自定义UIView》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。