设为首页 加入收藏

TOP

新手教程之使用Xib自定义UITableViewCell(一)
2017-10-13 10:33:12 】 浏览:8057
Tags:新手 教程 使用 Xib 定义 UITableViewCell

新手教程之使用Xib自定义UITableViewCell

前言

首先:什么是UITableView?看图

其次:什么是cell?

然后:为什么要自定cell,UITableView不是自带的有cell么?

因为在日常开发中,系统自带的cell满足不了客户和开发人员的需求(并且每个cell中的内容\大小\样式相同),我们就需要自定义cell来实现更加优化的功能.比如下面这种

最后:怎么自定义cell?

1.创建一个新的项目,在storyboard中拖入两个imageView,两个label

 

 

2.在ViewController里面创建UITableView

 1 //
 2 //  ViewController.m
 3 //  Xib自定义UITableViewCell
 4 //
 5 //  Created by admin on 16/5/16.
 6 //  Copyright © 2016年 KXZDJ. All rights reserved.
 7 //
 8 
 9 #import "ViewController.h"
10 
11 @interface ViewController ()<UITableViewDelegate,UITableViewDataSource>
12 @property (nonatomic, strong) UITableView *tableView;
13 @end
14 
15 @implementation ViewController
16 
17 - (void)viewDidLoad {
18     [super viewDidLoad];
19     // Do any additional setup after loading the view, typically from a nib.
20     [self config];
21 }
22 
23 - (void)didReceiveMemoryWarning {
24     [super didReceiveMemoryWarning];
25     // Dispose of any resources that can be recreated.
26 }
27 
28 
29 -(void)config {
30     //初始化tableView,并给tableView设置frame以及样式
31     self.tableView = [[UITableView alloc] initWithFrame:[UIScreen mainScreen].bounds style:UITableViewStylePlain];
32     //遵守代理和数据源(因为要用到代理和数据源方法)
33     self.tableView.delegate = self;
34     self.tableView.dataSource = self;
35     //添加到ViewController的视图中
36     [self.view addSubview:self.tableView];
37 }
38 
39 /**
40  *  返回多少个组(默认是1组,如果只有一组可以不实现这个方法)
41  *
42  *  @param tableView 当前tableView
43  *
44  *  @return 组的个数
45  */
46 -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
47     return 1;
48 }
49 /**
50  *  每一组返回多少行
51  *
52  *  @param tableView 当前tableView
53  *  @param section   当前组
54  *
55  *  @return 行的个数
56  */
57 -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
58     return 20;
59 }
60 
61 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
62     //指定cell的重用标识符
63     static NSString *reuseIdentifier = @"CELL";
64     //去缓存池找名叫reuseIdentifier的cell
65     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier];
66     //如果缓存池中没有,那么创建一个新的cell
67     if (!cell) {
68         cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier];
69     }
70     //返回当前cell
71     return cell;
72 }
系统自带的UITableView

运行效果

4.Xib自定义cell

 

首先我们要创建一个xib文件,有两种创建方式:

直接上图

第一种:

第二种:

第二种在创建类的时候也同时创建了xib,比较方便,要是用第一种方式创建,还得关联类

下面就要拖控件到Xib的cell中并给控件设置布局(约束)了

 

下面进入代码阶段

5.获取Xib自定义的cell

代码:(XibTableViewCell.h)

 1 //
 2 //  XibTableViewCell.h
 3 //  Xib自定义UITableViewCell
 4 //
 5 //  Created by admin on 16/5/16.
 6 //  Copyright © 2016年 KXZDJ. All rights reserved.
 7 //
 8 
 9 #import <UIKit/UIKit.h>
10 
11 @interface XibTableViewCell : UITableViewCell
12 //加载xib的方法(自己写的,不是系统自带)
13 +(instancetype)xibTableViewCell;
14 
15 @end

(XibTableViewCell.m)

 1 //
 2 //  XibTableViewCell.m
 3 //  Xib自定义UITableViewCell
 4 //
 5 //  Created by admin on 16/5/16.
 6 //  Copyright © 2016年 KXZDJ. All rights reserved.
 7 //
 8 
 9 #import "XibTableViewCell.h"
10 
11 @implementation XibTableViewCell
12 //实现类方法
13 +(instancetype)xibTableViewCell {
14     //在类方法中加载xib文件,注意:loadNib
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇所谓的iOS中的通讯录(一)(自制.. 下一篇OC NSNumber NSValue

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目