我有一个tableView,每行都有一个UIWebView
。
点击webView后,我希望它能够展开并接管整个屏幕。
然而,有一些问题,我不确定哪个是干扰。首先,我尝试过这样的事情:
webView.frame = self.view.bounds;
webview.bounds = self.view.bounds;
cell.clipsToBounds = NO;
webView.clipsToBounds = NO;
然而,webView似乎无法超越单元格,不会扩展到适当的宽度,通常不起作用。我还考虑过操纵细胞高度,但它似乎比它应该更麻烦。
所以基本上,我想把这个webView移到堆栈顶部并改变它的帧大小。
否则我可能只是实例化一个看似浪费的新webView。有任何想法吗?感谢
答案 0 :(得分:1)
不要更改网络视图的框架。使用约束(或至少在顶部和底部)将Web视图绑定到单元格的所有四个边,当您点击单元格并选择它时,使用heightForRowAtIndexPath中的indexPathForSelectedRow属性使该单元格与表格视图。
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if ([[tableView indexPathForSelectedRow] isEqual:indexPath]) {
return tableView.frame.size.height;
}else{
return 44;
}
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
[tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
[tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
答案 1 :(得分:0)
我不知道为什么你会把一个WebView放在一个单元格中..我不是专家,但每次滚动时都不会重新创建webview吗?
您可以使用SVWebViewController并将以下代码放入didselectrowatindexpath中以模态方式显示。
SVModalWebViewController *webViewController = [[SVModalWebViewController alloc] initWithAddress:@"http://google.com"];
[self presentViewController:webViewController animated:YES completion:NULL];