ZQRView文件:
// // ZQRView.h // // // Created by zzqqrr on 17/8/20. // // #import <UIKit/UIKit.h> @class appModel; @interface ZQRView : UIView @property (nonatomic,assign) appModel *apps; /** 通过模型数据创建一个view */ + (instancetype)appViewWithApp:(appModel *)app; + (instancetype)appView; @end // // ZQRView.m // // // Created by zzqqrr on 17/8/20. // // #import "ZQRView.h" #import "appModel.h" @interface ZQRView() @property (weak, nonatomic) IBOutlet UIImageView *titleImage; @property (weak, nonatomic) IBOutlet UILabel *title; @property (weak, nonatomic) IBOutlet UILabel *nowTimes; @end @implementation ZQRView - (void)setApps:(appModel *)apps { _apps=apps; self.title.text=apps.title; self.titleImage.image=[UIImage imageNamed:apps.icon]; } + (instancetype)appViewWithApp:(appModel *)app { NSBundle *bundle=[NSBundle mainBundle]; NSArray *objs=[bundle loadNibNamed:@"appZqr" owner:nil options:nil]; ZQRView *appView=[objs lastObject]; appView.apps=app; return appView; } + (instancetype)appView { return [self appViewWithApp:nil]; } @end
//没有封装 NSBundle *bundle1=[NSBundle mainBundle]; NSArray *obj=[bundle1 loadNibNamed:@"appZqr" owner:nil options:nil]; ZQRView *MyView=[obj lastObject];//数据模型 appModel *mymodel=self.apps[index]; MyView.apps=mymodel;//把模型赋值给xib的view //内部封装的 ZQRView *appView2=[ZQRView appViewWithApp:self.apps[index]]; NSBundle *bundle=[NSBundle mainBundle]; //读取xib文件(会去创建xib中的描述的所有对象,并且按顺序放到数组中返回) NSArray *objs=[bundle loadNibNamed:@"zqrappView" owner:nil options:nil]; UIView *appView1=[objs lastObject]; //获取xib空间方法一 UIImageView *iconView=appView1.subviews[0]; iconView.image=nil; UILabel *nameLable=appView1.subviews[1]; nameLable.text=@""; //获取xib空间方法二 UIImageView *iconView1=(UIImageView *)[appView1 viewWithTag:10]; UILabel *nameLabel1=(UILabel *)[appView1 viewWithTag:1];