我在附件中显示了一个自定义单元格:
我正在使用UIWebView来显示推文文本。有些推文很短,我想调整网页视图的大小,向上移动时间,然后最终调整单元格的大小。我知道如何调整Web视图的大小,但不知道如何确定如何移动时间并调整单元格的大小。
- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSFetchedResultsController *fetchedResultsController = nil;
if (self.tweetsSegmentedControl.selectedSegmentIndex == REPORTERS_SELECTED_INDEX)
{
fetchedResultsController = self.reportersFetchedResultsController;
}
else if (self.tweetsSegmentedControl.selectedSegmentIndex == PLAYERS_SELECTED_INDEX)
{
fetchedResultsController = self.playersFetchedResultsController;
}
Tweet *tweet = [fetchedResultsController objectAtIndexPath:indexPath];
//Calcaulate height of box, instead of return a fixed number
return 170;
}
答案 0 :(得分:0)
我知道如何调整网页视图的大小
别。使用自动调整大小来拉伸UIWebView与单元格的高度。
如何移动时间
别。使用自动调整功能将时间固定到单元格的底部。
调整单元格大小
使用-tableView:heightForRowAtIndexPath:
<强>更新强>
之前我这样做的方法是为原型单元格中的灵活视图(对于Web视图)设置已知大小,并为原型单元格设置已知大小。在这种情况下,我们会说Web视图是kPrototypeViewHeight,原型是kPrototypeCellHeight。
在表视图控制器中:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
UIWebView *webView = … // Whatever you need to do to get the web view
CGFloat webViewHeight = webView.frame.size.height;
return kPrototypeCellHeight - kPrototypeViewHeight + webViewHeight;
}
注意:这将在调用-tableView:cellForRowAtIndexPath:
之前完成。因此,在你必须自己画画之前,你需要知道自己的尺寸。
注意2:因为您自己更改了webView的大小,所以您不希望它被自动调整。
注意3:您将在表格中查看每个网页视图以计算您的身高。我的猜测是滚动会很慢。
希望有所帮助。