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。
Iphone6
Iphone5
这样的个个版本都可以用了

今天说一个懒加载
什么是懒加载哪?
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