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