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相关推荐
- IOS 中视图控制器的生命周期
1.init Allocating critical data structures required by your view controller 不要出现创建view的代码.良好的设计,在ini ...
- Cocoa编程中视图控制器与视图类详解
iPhone编程规则是:一个窗口,多个视图.UIView是iPhone屏幕上很多控件的基础类.每个iPhone用户界面都是由显示在UIWindow(这其实也是个特殊的UIView)内的众多UIView ...
- 一劳永逸,iOS 网页视图控制器通用类封装
原文链接:http://www.jianshu.com/p/553424763585 随着 H5 的发展,在 iOS 开发中,网页视图的使用率逐渐提升,为了增加代码封装度.减轻开发负担,因此通常会对网 ...
- iOS中UINavigationController控制器使用详解
一.概述 UINavigationController用来管理视图控制器,在多视图控制器中常用.它以栈的形式管理视图控制器,管理视图控制器个数理论上不受限制(实际受内存限制),push和pop方法来弹 ...
- 在iOS中为ViewController构建自定义过渡
总览 (Overview) Every new iOS comes with design changes. This time we saw the new View Presentation St ...
- iOS 中导航控制器全屏向右滑动返回上一界面
在iOS中,导航控制器默认就自带了侧滑功能,当用户在界面的左边(左边边缘)滑动的时候,才会有侧滑功能.但是我们往往在开发的过程中需要在屏幕的任意位置滑动,都需要返回到上一个界面. 多说无意,直接看代码 ...
- iOS中单个控制器横屏切换的研究
在项目中遇到了一个问题,app中有两个控制器要求可以切换横屏,研究了半天,终于找到了解决办法. 在AppDelegate中写 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 ...
- iOS中设置百度地图自定义标注图片,自定义泡泡
#pragma mark - BMKMapViewDelegate // 根据anntation生成对应的View - (BMKAnnotationView *)mapView:(BMKMapView ...
- iOS中怎么存储照片到自定义相册 转载备份
原文地址:https://www.cnblogs.com/muzichenyu/p/6006856.html 在市场上主流App中,大多数App都具有存储图片到自己App的相册中.苹果提供的方法只能存 ...
最新文章
- 如何及时获得AI顶尖科研团队的最新论文与进展?只需要一份AI内参!
- Java Threads 多线程10分钟参考手册
- ConcurrentHashMap 解读
- python语言用什么关键字来声明一个类_python使用什么关键字定义类
- [UVA315]Network(tarjan, 求割点)
- TensorFlow十三 LSTM练习
- c语言while跳不出来,这个while循环终止了却跳不出来为什么
- linux编译c 自动化,Linux江湖06:感悟GNU C以及将Vim打造成C/C++的半自动化IDE
- fzyzojP1635 -- 平均值
- php array_walk和array_map区别
- python中的字典操作_python中的字典以及相关操作
- WEB 服务器调试利器 -- Tamper Data
- RuntimeError: einsum(): operands do not broadcast with remapped shapes [original->remapped]
- unity导出fbx模型_三维制作内容,maya模型贴图文件导入untiy,烘焙灯光贴图
- Kubernetes的Limits和Requests
- 乐MAX2 乐视X820_官方线刷包_救砖包_解账户锁
- 河南这么大的省,也所谓的准一线,为什么IT行业就是发展不起来呢?
- 更改WLAN的IP地址
- SEEDLab ARP Cache Poisoning Attack Lab 实验报告
- 【Android】BLE:蓝牙低功耗基础
热门文章
- matlab离散系统仿真分析——电机
- linux的ftp命令大全文库,linux下ftp命令详解
- python中统计函数_python中count函数知识点浅析
- java计算机毕业设计国产精品动漫网站MyBatis+系统+LW文档+源码+调试部署
- phpbb风格模板_phpbb模板修改
- 会声会影安装闪退解决办法_会声会影使用中常见问题及解决办法(一)
- net-java-php-python-社区书店管理信息计算机毕业设计程序
- Java反射+自定义注解实现配置文件数组加载(实现@ConfigurationProperties(xxx))
- 2023年女性最佳职场大中华区榜单公布,33家公司入选 | 美通社头条
- 要闻君说:Synergy Research Group首发云基础设施数据,腾讯云v5一把;京东物流发力5G;厉害!阿里挖走贾扬清...