Objective c 如何返回ROWATINDEXPATH的正确高度

Objective c 如何返回ROWATINDEXPATH的正确高度,objective-c,iphone,xcode,uitableview,ios8,Objective C,Iphone,Xcode,Uitableview,Ios8,现在我正在努力适应两款新的iphone6/Plus。我正在使用UITableViewController实现我的表 在我的细胞内,我有一个320x189的UImageView,几乎使用整个细胞,并作为每个细胞的背景 我得到的图像的动态和大小会有所不同,所以我无法控制图像的大小。通过使用约束条件,我能够通过整个细胞调整图像。但我觉得iPhone6加上手机的高度应该至少高出20像素 是否有任何方法可以检测到iPhone 6 Plus/6上的高度,并在heightForRowAtIndexPath方法

现在我正在努力适应两款新的iphone6/Plus。我正在使用UITableViewController实现我的表

在我的细胞内,我有一个320x189的UImageView,几乎使用整个细胞,并作为每个细胞的背景

我得到的图像的动态和大小会有所不同,所以我无法控制图像的大小。通过使用约束条件,我能够通过整个细胞调整图像。但我觉得iPhone6加上手机的高度应该至少高出20像素

是否有任何方法可以检测到iPhone 6 Plus/6上的高度,并在heightForRowAtIndexPath方法上覆盖返回的高度?O也许我应该为iPhone 6/Plus使用不同的故事板

请给我一些建议


谢谢

您可以根据屏幕高度检测手机。这些是iPhone4和5的屏幕尺寸,这些是iPhone6/6+的DIM

iPhone4的高度为480分,iPhone5的高度为568分,iPhone6的高度为667分,6+的高度为736分

您可以使用
[UIScreen mainScreen].bounds.size.height
获取设备屏幕的高度

因此,您可以知道您使用的是哪种电话:

CGFloat h = [UIScreen mainScreen].bounds.size.height;
if (h > 700){
    NSLog(@"iPhone 6+");
}
else if (h > 600){
    NSLog(@"iPhone 6");
}
else if (h > 500){
    NSLog(@"iPhone 5");
}
else{
    NSLog(@"iPhone 4");
}

至于表格单元格的高度,您可以在
heightforrowatinexpath
方法中以编程方式将高度设置为图像的任何大小。如果您的图像以某种形式排列,您可以执行以下操作:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    return images[indexPath.row].size.height;
}
它应该调整每个单元格的高度以适合其相应的图像

希望这有帮助