xib文件的加载方法
生活随笔
收集整理的這篇文章主要介紹了
xib文件的加载方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
xib文件的加載方法
- 以UITableViewCell的cell為例
- 很多時候因為系統的cell無法滿足我們的日常需求,我們都會自定義cell
- 因為cell的界面比較固定,所以通常都會選擇用xib來描述cell
- 那么如何將xib文件加載到我們的tableView中呢?
一.加載xib的兩種方法
1.通過NSBundle加載xib
- 注意點:通過NSBundle的方法,一定要給xib文件加標識(ID),否則cell不會循環利用
- 給cell加ID時注意點
- 加上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文件,那么要綁定類
轉載于:https://www.cnblogs.com/mtystar/p/5986461.html
總結
以上是生活随笔為你收集整理的xib文件的加载方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring+Mybatis多数据源配置
- 下一篇: 方差与样本方差、协方差与样本协方差