IOS 学习之路(一) 徒手写界面(2)自适应和懒加载
来源:互联网 发布:c语言status 未声明 编辑:程序博客网 时间:2024/05/22 17:49
今天来说说自适应,昨天写了一个界面但是不是自适应,今天我们来改改代码。让它可以适用个个尺寸的iphone其实这个很简单。我们来看看代码
_oneLabel = [[UILabel alloc]init]; _oneLabel.frame = CGRectMake(30, 159, self.view.frame.size.width - 60, 1); _oneLabel.backgroundColor = [UIColor whiteColor];
这个是昨天的代码的一个片段,这里是手机输入框下面的白线
和昨天不一样的是 原先固定的尺寸改成了 self.view.frame.size.width -60
这个的意思是提取view的宽度 然后减去60 因为x轴是30开始 所以后面也是留30。
这样的个个版本都可以用了
今天说一个懒加载
什么是懒加载哪?
1.懒加载基本
懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其get方法.
注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化
2.使用懒加载的好处:
(1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强
(2)每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合
既然要判断有么有 所以一定要用到if
好了我们现在来写吧
-(UILabel *)PhoneLable{ if(!_PhoneLable) { _PhoneLable = [[UILabel alloc]init]; _PhoneLable.frame = CGRectMake(30, 130, 45, 20); _PhoneLable.text = @"手机"; _PhoneLable.textColor = [UIColor whiteColor]; _PhoneLable.font = [UIFont systemFontOfSize:(17)]; } return _PhoneLable;}
这个就是懒加载的写法,其他的同理
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.view.backgroundColor = [UIColor grayColor]; [self.view addSubview:self.PhoneLable]; [self.view addSubview:self.PhoneTextField]; [self.view addSubview:self.oneLabel]; [self.view addSubview:self.PasswordLable]; [self.view addSubview:self.PwdTextField]; [self.view addSubview:self.towLabel]; [self.view addSubview:self.enterbtn]; [self.view addSubview:self.ForgetPwdLabel]; [self.view addSubview:self.RegistrationLabel];}
addSubview还是要写在viewDidLoad里面的
好了下一次我们可以用一些东西让代码更加的简单一点。
0 0
- IOS 学习之路(一) 徒手写界面(2)自适应和懒加载
- IOS 学习之路(一) 徒手写界面(4)控件(2)Label
- IOS 学习之路(一) 徒手写界面(4)控件(1)
- IOS 学习之路(一) 徒手写界面(1)
- IOS 学习之路(一) 徒手写界面(3)使用框架
- 徒手hypervisor(一)
- 雨松MOMO 之 开始学习搭建界面自适应屏幕(一)
- 如何利用opencv c++徒手写BP神经网络识别数字(一)前言及准备
- 自适应界面学习文档(@media)
- Unity3D学习之界面编辑器(一)
- latex徒手写论文之小白篇
- 徒手hypervisor(二)
- 徒手hypervisor(三)
- 【IOS界面布局】横竖屏切换和控件自适应(推荐)
- 【IOS界面布局】横竖屏切换和控件自适应(推荐)
- 【IOS界面布局】横竖屏切换和控件自适应(推荐)
- IOS学习之——界面2传值到界面1(代理方法)
- IOS学习笔记——基础界面 (一)
- Swift中使用NSLog的问题
- android studio 使用git添加远程库(这里用Github)
- tableView设置UITableViewStyleGrouped顶部有空余高度
- java多线程--“升级版”生产者消费者
- LeetCode - 229. Majority Element II
- IOS 学习之路(一) 徒手写界面(2)自适应和懒加载
- ServletContext对象
- 【实战】快速集成自定义转场动画&手势驱动
- IO多路复用之select总结
- 各种IE兼容模式代码,IE6,IE7,IE8,IE9,IE10
- 清除浮动的几种方法
- 指定文件中查找一个字符串并显示该字符串出现的次数
- 我的投资可行吗?
- jsonp跨域调用代码实例