Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios TableViewCell高度自动调整为屏幕大小_Ios_Uitableview - Fatal编程技术网

Ios TableViewCell高度自动调整为屏幕大小

Ios TableViewCell高度自动调整为屏幕大小,ios,uitableview,Ios,Uitableview,我已经实现了一个包含所需内容的tableView。只有5个单元格可显示。我现在无法做到的是: 我希望这五个单元格在tableview的高度上均匀分布,具体取决于使用的iphone。所以从逻辑上讲,iPhone5的高度应该比iPhone4高。如果有视网膜或没有视网膜,细胞的分布也应该正确 我必须为此提供不同的背景图像吗? 最好的方法是什么: tableview如下所示: [标题] [A-案文1] [B-案文2] [C-案文3] [丁-案文4] [电子文本5] 在一天结束的时候应该没有滚动的可能。只

我已经实现了一个包含所需内容的tableView。只有5个单元格可显示。我现在无法做到的是:

我希望这五个单元格在tableview的高度上均匀分布,具体取决于使用的iphone。所以从逻辑上讲,iPhone5的高度应该比iPhone4高。如果有视网膜或没有视网膜,细胞的分布也应该正确

我必须为此提供不同的背景图像吗? 最好的方法是什么:

tableview如下所示:

[标题] [A-案文1] [B-案文2] [C-案文3] [丁-案文4] [电子文本5]

在一天结束的时候应该没有滚动的可能。只是自动均匀分布的细胞

我很高兴能在这方面得到帮助


谢谢您首先,如果您可以使用UITableViewDelegate方法简单地返回表格高度除以5,这将使每个单元格成为表格高度的五分之一:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return [tableView bounds].size.height / (CGFloat)[myDataSourceArray count];
}
如果您已将表格配置为屏幕大小,则这将适用于iPhone 5和iPhone 4。此外,您无需为视网膜/非视网膜设置单元格,因为在为iOS编程时,您以点而非像素指定屏幕尺寸,这允许iOS自动处理缩放

然后关于背景图像,有两种不同的方法来实现这一点,这取决于您想要的最终结果。例如,如果您只想用图案图像填充单元格,并让默认的表视图分隔符将其分割,则可以按实现图案所需的最小尺寸制作图像。可以是2x2px和4x4@2x,然后只需使用:

[[cell contentView] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"myPatternImage"]]];
或者,如果希望在单元格周围显示具有某种边框的图像,可以使用可调整大小的图像在边框周围绘制,然后用图案填充单元格内部,下面是一个屏幕截图,以帮助解释其工作原理:


当然,你可以添加一个UIImageView作为单元格的子视图,然后将完整的图像添加到其中,这并不是完全错误的,但我不推荐这样做,因为我建议的其他两种方法更有效。希望这有帮助

首先,如果您可以使用UITableViewDelegate方法简单地返回表格高度除以5,这将使每个单元格成为表格高度的五分之一:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return [tableView bounds].size.height / (CGFloat)[myDataSourceArray count];
}
如果您已将表格配置为屏幕大小,则这将适用于iPhone 5和iPhone 4。此外,您无需为视网膜/非视网膜设置单元格,因为在为iOS编程时,您以点而非像素指定屏幕尺寸,这允许iOS自动处理缩放

然后关于背景图像,有两种不同的方法来实现这一点,这取决于您想要的最终结果。例如,如果您只想用图案图像填充单元格,并让默认的表视图分隔符将其分割,则可以按实现图案所需的最小尺寸制作图像。可以是2x2px和4x4@2x,然后只需使用:

[[cell contentView] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"myPatternImage"]]];
或者,如果希望在单元格周围显示具有某种边框的图像,可以使用可调整大小的图像在边框周围绘制,然后用图案填充单元格内部,下面是一个屏幕截图,以帮助解释其工作原理:


当然,你可以添加一个UIImageView作为单元格的子视图,然后将完整的图像添加到其中,这并不是完全错误的,但我不推荐这样做,因为我建议的其他两种方法更有效。希望这有帮助

@konturgestaltung很高兴能帮忙!:@很高兴能帮上忙!: