UITableViewCell自定义cell
设计好自定义的cell并且连接好控件后 有两种方法引用我们自己的cell
方法1:
1 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
2 {
3 static NSString *cellIdentifier=@"name";
4 BOOL nibsRegistered=NO;
5 if (!nibsRegistered) {
6 UINib *nib=[UINib nibWithNibName:@"MyCell" bundle:nil];
7 [tableView registerNib:nib forCellReuseIdentifier:cellIdentifier];
8 nibsRegistered=YES;
9 }
10 MyCell *cell=[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
11 //cell 上的元素初始化代码
12
13 return cell;
14 }
UINib *nib=[UINib nibWithNibName:@"MyCell" bundle:nil]; [tableView registerNib:nib forCellReuseIdentifier:cellIdentifier];
这两句代码是引用我们自己定义的cell的关键 首先读取我们自己定义的cell的nib文件 再在tableView中注册 此时 我们定义的cell便加入
到了tableView的可重用队列当中了
MyCell *cell=[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
这句代码从中取出一个事例 然后初始化 并返回给tableView显示
方法2:
1 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
2 {
3 static NSString *tableCellIdentifier = @"name";
4 MyCell *cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:tableCellIdentifier];
5
6 if(cell == nil){
7 NSArray *nib = [[NSBundle mainBundle]loadNibNamed:@"MyCell" owner:self options:nil];
8 for(id oneObject in nib){
9 if([oneObject isKindOfClass:[MyCell class]]){
10 cell = (MyCell *)oneObject;
11 }
12 }
13 }
14 //cell初始化。。。
15
16 return cell;
17 }

浙公网安备 33010602011771号