IOS学习之—— xib的用法--自定义View

来源:互联网 发布:淘宝上卖的黑科技 编辑:程序博客网 时间:2024/04/30 07:49

//******************************************************************* 05 xib的用法–自定义View

//自定义View xib的用法 (项目名称:设置文件头 滚动广告 五张图片 )
步骤(1)创建 新文件 userInterface 中的 empty 文件 取名CZHeaderView

        (2)xib 中加入View 4中属性size取freedom  statusBar 取None 5中取大小 W 375 H 200           加入scrollView   到View 中     设置5中 10 10 355 140           加入新View       到主View 中    设置5中 0 160 375 1  //一条线就画好了           加入新View       到主View 中    设置5中 0 200 375 1  //一条线就画好了           加入Label        到主View 中    设置5中 10, 170,100,21  label.text= 猜你喜欢       (3)//封装起来(自定义View)           创建一个类 CZHeaderView  然后继承 UIView//名字最好和xib的取名一样       (4)点击父View 设置自定义类型 中设置3中 Custom Class 中class 设置成 CZHeaderView       (5)连线  option+ Command + 回车  在CZHeaderView.m 中连线

// 手动写入代码
@interface CZHeaderView()
//scrollView连线
@property(weak,nonatomic) IBOutlet UIScrollView *scrollView;
@end

        (6)//如何加载  回到 ViewController.m 中           导入头文件 #import"CZHeaderView.h"           -(void)viewDidLoad  //原有的代码 这行不需要自己写入           {               self.tableView.tableHeaderView = [CZHeaderView headerView];//手动写入代码            }        (7)//回到 CZHeaderView.h 中            +(instancetype)headerView;//手动写入代码            //回到 CZHeaderView.m 中            //类方法 快速初始化对象            + (instancetype)headerView            {              CZHeaderView *headerView = [[[NSBundle mainBundle] loadNibNamed:@"CZHeaderView" owner:nil options:nil] lastObject];              return headerView;            }            //当xib中的控件加载完成会调用此方法              - (void)awakeFromNib            {             CGFloat iconW = self.scrollView.frame.size.width;             CGFloat iconH = self.scrollView.frame.size.height;        for (int i = 0; i < 5; i++) {            NSString *imgName = [NSString stringWithFormat:@"ad_%02d",i];            UIImageView *iconView = [[UIImageView alloc] init];            [self.scrollView addSubview:iconView];            iconView.image = [UIImage imageNamed:imgName];            CGFloat iconX = i * iconW;            CGFloat iconY = 0;            iconView.frame = CGRectMake(iconX, iconY, iconW, iconH);        }        self.scrollView.contentSize = CGSizeMake(5 * iconW, 0);    }

//从xib中加载cell的两种方式:
// (1)第一种 (常用)
cell =[[[NSBundle mainBundle] loadNibNamed:@”CZGroupBuyingCell” owner:nil options:nil ]lastObject];
// (1)第二种
UINib *nib = [UINib nibWithNibName:@”CZGroupBuyingCell” bundle:nil];
cell = [[nib instantiateWithOwner:nil options:nil] lastObject];

0 0
原创粉丝点击