Iphone 情节提要中具有不同标识符和不同高度的两个UITableViewCell
我有两种类型的单元格,我将使用UITableView,所以我创建了两个具有不同标识符的原型单元格。我手动更改了大小,但在编译和运行时,两个单元格的大小相同 有没有办法通过情节串连板完成,而不必每次检查Iphone 情节提要中具有不同标识符和不同高度的两个UITableViewCell,iphone,ios,objective-c,uitableview,Iphone,Ios,Objective C,Uitableview,我有两种类型的单元格,我将使用UITableView,所以我创建了两个具有不同标识符的原型单元格。我手动更改了大小,但在编译和运行时,两个单元格的大小相同 有没有办法通过情节串连板完成,而不必每次检查 -(CGFloat)tableView:(UITableView*)tableView rowatindexpath的高度:(nsindepath*)indepath{ 我至少会有大约100个细胞 更新:在我的例子中,我有一个包含3个部分的tableview,第一个小,第二个和第三个大。如果您知道
-(CGFloat)tableView:(UITableView*)tableView rowatindexpath的高度:(nsindepath*)indepath{
我至少会有大约100个细胞
更新:在我的例子中,我有一个包含3个部分的tableview,第一个小,第二个和第三个大。如果您知道这些部分决定了单元格的高度,那么您可以这样实现:
- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath: (NSIndexPath*)indexPath {
CGFloat result;
if (indexPath.section == 0) {
result = 160;
} else {
result = 80;
}
return result;
}
当然,这取决于您需要的高度。如果您知道这些部分决定了单元格的高度,那么您可以这样实现:
- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath: (NSIndexPath*)indexPath {
CGFloat result;
if (indexPath.section == 0) {
result = 160;
} else {
result = 80;
}
return result;
}
当然,这取决于您需要的高度。我认为您最好的选择是使用您列出的-tableView:heightForRowAtIndexPath:delegate方法并返回您想要的高度 您可以为每个原型分配标记,并使用if/elseif条件 或者,如果每个原型都有一个子类UITableViewCell,则可以执行以下操作
...
id cell = [tableView cellForRowAtIndexPath:indexPath];
if ([cell isKindOfClass:[CustomCell1 class]]) {
// return aNumber;
} else if ([cell isKindOfClass:[CustomCell2 class]]) {
// return aNumber;
} else {
return aNumber;
}
...
我认为最好的选择是使用您列出的-tableView:heightforrowatinexpath:delegate方法,并返回您想要的高度 您可以为每个原型分配标记,并使用if/elseif条件 或者,如果每个原型都有一个子类UITableViewCell,则可以执行以下操作
...
id cell = [tableView cellForRowAtIndexPath:indexPath];
if ([cell isKindOfClass:[CustomCell1 class]]) {
// return aNumber;
} else if ([cell isKindOfClass:[CustomCell2 class]]) {
// return aNumber;
} else {
return aNumber;
}
...
是的,如果你有某种模式(比如说,每个偶数的细胞都更大),否则我会听NSAddict:Dand,你会如何做一些计算效率高的事情?PS:只是更新我个人不喜欢情节提要。我通过自定义
UITableViewCell
类以编程方式来做这件事。在每个委托
和数据源
方法中都有IndexPath
。使用相同的cellIdentifier,但使用不同的子类初始化cellForRow是的,如果您有某种模式(比如说,每个偶数单元格都更大),否则我会听NSAddict:Dand,你会如何做一些计算效率高的事情?PS:只是更新我个人不喜欢情节提要。我通过自定义UITableViewCell
类以编程方式来做这件事。在每个委托
和数据源
方法中都有IndexPath
。使用相同的cellIdentifier,但初始化cellForRow,并相应地使用不同的子类