1 工厂方法
- (instancetype)initWithDict:(NSDictionary *)dict { self = [super init]; if (self) { self.name = dict[@"name"]; self.icon = dict[@"icon"]; } return self; } //工厂方法 +(instancetype)AppInfoInitWithDict:(NSDictionary *)dict{ return [[self alloc]initWithDict:dict]; }
2 XIB的使用
xib可以当作是控件来使用,在里面添加一些view,然后进行使用
ps:新添加的view的size属性要选择freeform
//声明 返回数组 xib里面平行的控件组合成数组返回 NSArray *arr = [[NSBundle mainBundle]loadNibNamed:@"AppInfoView" owner:nil options:nil]; UIView *view = [arr firstObject]; //定位 view.frame =CGRectMake(x, y, viewW, viewH);
本人的xib里面包含了一个imageview label 和button,使用方式可以使用tag标签
UIImageView *imageView = (UIImageView *)[view viewWithTag:1]; //也可以使用 view.subviews[0]; 但是hard code 的味道比较重 imageView.image = info.image;
3 XIB和UIView的配合使用
新建一个xib,然后新建一个class继续uiview配合起来使用
可参考appmanager的例子