zoukankan      html  css  js  c++  java
  • xib文件的加载方法

    xib文件的加载方法

    • 以UITableViewCell的cell为例
    • 很多时候因为系统的cell无法满足我们的日常需求,我们都会自定义cell
    • 因为cell的界面比较固定,所以通常都会选择用xib来描述cell
    • 那么如何将xib文件加载到我们的tableView中呢?

    一.加载xib的两种方法

    1.通过NSBundle加载xib
    • 注意点:通过NSBundle的方法,一定要给xib文件加标识(ID),否则cell不会循环利用

    • 给cell加ID时注意点

      • 加上const,这样标识右边的变量就是只读的,不能被修改,防止某些同事乱改我的ID,那么就不能循环利用cell了
      static NSString *const ID = @"cell";
      

      示例代码

      	#import <UIKit/UIKit.h>
      
      	@class MTYSubTagItem;
      	@interface MTYSubCell : UITableViewCell
      
      	/** cell的数据模型 */
      	@property (nonatomic, strong) MTYSubTagItem *tagItem;
      
      	/** 快速从xib中加载cell的方法 */
      	+ (instancetype)subCell;
      	@end
      	
      
      	// 从NSBundle中加载xib文件
      	+ (instancetype)subCell
          {
      	 return [[[NSBundle mainBundle] loadNibNamed:@"MTYSubCell" owner:nil options:nil] firstObject];
          }
      
    2. 通过注册的方法
    • 定义一个全局的静态变量标识,只能在当前文件夹下用

    • 在tableView的viewDidLoad方法中注册xib

      	// 从NSBundle中加载xib文件
      	- (void)viewDidLoad
          {
      	[super viewDidLoad];
                  
                  // 注册xib
                  [self.tableView registerNib:[UINib nibWithNibName:@"MTYSubCell" bundle:nil]  forCellReuseIdentifier:ID];
           }
      
    • 通过注册的方法加载xib,在tableView的代理方法中可以省略判断cell是否为空的那行代码

      - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
      
      {
      	 MTYSubCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
      
      /*
      // 可以省略
      if(cell == nil)
      {
      	// 创建cell
      }
      */
      
      	 cell.tagItem = self.tags[indexPath.row];
      
      	 return cell
      

    }

    ``` 
    

    二.注意点

    • 加载出来的xib的类型,和加载时xib的名字没有关系,和xib的class有关
    • 所以创建自定义cell的时候可以直接勾选创建xib文件,如果单独另外创建xib文件,那么要绑定类

  • 相关阅读:
    网页色彩搭配
    jquery富文本在线编辑器UEditor
    编写、部署、应用JavaBean
    图片存储构架学习
    JVM内存管理(一)
    同步or异步
    分库分表策略的可实现架构
    百万数据查询优化技巧三十则
    匿名内部类
    MySQL limit分页查询优化写法
  • 原文地址:https://www.cnblogs.com/mtystar/p/5986461.html
Copyright © 2011-2022 走看看