(三)懒加载以及一些设计规范

来源:互联网 发布:软件shop floor editor 编辑:程序博客网 时间:2024/04/29 15:23
八.文档注释

/** 这是一只显示图片的猫 */

@property (weaknonatomicIBOutlet UIImageView *tom;


这样的好处是调用时显示注释:



九.UIButton UIImageView区别


1.需要监听图片点击,需要用UIButton。

2.相同点:能显示图片。
   不同点:UIButton能同时显示两张图片。

要显示一个有背景、文字前小图片、文字说明的按钮,只需要设定image与background,然后再设置文字即可。

3.继承关系:
UIButton -> UIControl -> UIView
UIImageView -> UIView (默认不能处理事件,但是可以特殊设定)。
凡是继承字UIControl的对象都能处理事件。

十.应用管理app的设置与制作

1.懒加载:重写get方法。

@property (nonatomicstrongNSArray *apps;

- (NSArray *)apps{

    

    if(_apps == nil){

        

        NSString *path = [[NSBundle mainBundlepathForResource:@"app.plist" ofType:nil];

        

        _apps = [NSArray arrayWithContentsOfFile:path];

        

        NSLog(@"%@",_apps);

        

    }

    

    return _apps;

    

}

注意文件名和拓展名可以写在一起,然后后面写nil。


2.向View中加入组件,指针销毁后视图仍然存在,例如九宫格的添加:

    for (int index = 0; index < self.apps.count; index++){

        UIView *appView = [[UIView allocinit];

        appView.backgroundColor = [UIColor redColor];

        CGFloat appX = margin + (index % totalCol)*(margin + appW);

        CGFloat appY = 30 + (index / totalCol)*(margin + appH);

        appView.frame = CGRectMake(appX, appY, appW, appH);

        [self.view addSubview:appView];

    }


3.设计技巧:所有组件的x,y,w,h均表示为变量,一是方便修改,二是方便后续计算(CGFloat类型)。


4.让按钮高亮和普通显示文字一致,则只需要设置UIControlStateNormal(按钮的text称为setTitle)。


按钮设置字体的方式:按钮内部默认有两个子控件,一个imageView,一个label。

@property(nonatomic,readonly,retainUILabel     *titleLabel NS_AVAILABLE_IOS(3_0);

@property(nonatomic,readonly,retainUIImageView *imageView  NS_AVAILABLE_IOS(3_0);


btn.titleLable.text = @“xxx”;//这样是不安全的,因为系统不知道文字对应的状态,可能会在高亮时消失,不推荐,用setTitle更好。

同理,设置按钮前面的image,使用[downloadBtn setImage: forState:]


5.设置字体:

downloadBtn.titleLabel.font = [UIFont systemFontOfSize:13];


6.避免计算margin

先让imageView填充,然后内容居中,使用contentMode属性设置。


7.关于readonly

一个属性readonly,它的内部成员是否readonly还要看具体成员的设置,不是则可以修改。


8.Xcode安装插件:

打开插件运行,然后command+q完全退出。再使用。

例如注释插件,///触发。



0 0