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

//******************************************************************* 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];

你可能感兴趣的:(ios)