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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值