技术学习分享_一航技术 技术资讯 ios 一个xib注册多个cell

ios 一个xib注册多个cell

广告位

ios 一个xib注册多个cell

一、创建多个Cell

初次使用xib创建UITableviewCell的时候,我都是一个xib文件里,只创建一个Cell,在实际业务中,往往都是一个列表中需要用到多个不同的Cell样式,这就需要创建N个.h .m .xib文件。而且这些.m中的实现还差不多

1、在一个xib中创建多个Cell

先和普通创建xibCell一样,在xib中选中左边那个Cell,copy(command + c)或者在拖一个UITableViewCell上去,然后paste(command + v),.xib中就多个Cell了。

2、设置Restoration ID

为每个Cell 设置一个唯一的 Restoration ID,

二、使用

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 	//在重用队列中 找到正确的Cell 重复使用Cell 	SpotStrategyParamCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CirculationOptionalID"]; 	if (!cell) { 		// 从 mainBundle 中加载资源 	    cell = [[[NSBundle mainBundle] loadNibNamed:@"SpotStrategyParamCell" owner:self options:nil] objectAtIndex:2]; 	 } 	cell.selectionStyle = UITableViewCellSelectionStyleNone; 	return cell; } 

三、属性问题

新拖进来三个cell上面放好控件添加过约束后,开始拖拽控制为属性,可是每次关联的都是第一个cell,最后检查发现是因为新的几个cell是从控件库中拖拽进去的没有和某个类关联,也就是相当于是一个空的cell跟那个都无关,所以无论怎么拖拽都是关联的第一个cell。

  1. 点击cell查看属性检查器通过属性检查器和cell某个控件关联,然后在拖拽为属性。

  2. 提前在.h文件中定义好属性,直接和控件关联,如果有多个cell会有选择关联某个cell选项。

注意⚠️:关联属性的时候,你想关联那个Cell上的属性,需要先点击左边Cell列表,选中该Cell,然后再拖线关联上面的控件。

使用拖拽到.m文件关联的方式所有属性会关联到第一个cell上, 如下图: ios 一个xib注册多个cell

我们需要单独选中左边的每个cell,查看属性检查器通过属性检查器和cell某个控件关联,然后在拖拽为属性。如图: ios 一个xib注册多个cell

本文来自网络,不代表技术学习分享_一航技术立场,转载请注明出处。

作者: 一航技术

上一篇
下一篇
广告位

发表回复

返回顶部