我将UIwebview设置为UITableview
中的标题。UIWebview
高度和宽度是动态的。它来自本地html文件。
UIWebview
和UITableview
在一个卷轴下。
它适用于iphone.Same方法我为ipad写的它很好用。但是有一个问题。 在ipad Header视图和表视图中对齐是不正确的。
这是代码。
Rootviewcotrollor是UITableviewControllor
Rootviewcontroller.m
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"Webview in UITableView";
webview = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 10)]; // Don't use CGRectZero here, won't work
webview.delegate = self;
webview.hidden = YES;
[webview loadRequest:[[NSURLRequest alloc]
initWithURL: [NSURL URLWithString:@"http://www.google.com/"]]];
[self.tableView setTableHeaderView:webview]; // Leave this, else you'll have rows to fill the rest of the screen
}
- (void) webViewDidFinishLoad:(UIWebView *)webView {
float newSize = [[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.scrollHeight"] floatValue];
NSLog(@"Resizing webview from %.2f to %.2f", webView.frame.size.height, newSize);
webView.frame = CGRectMake(webView.frame.origin.x, webView.frame.origin.y, webView.frame.size.width, newSize);
webView.hidden = NO;
// We need to reset this, else the new frame is not used.
[self.tableView setTableHeaderView:webview];
}
对于相同的代码iphone输出
iPad输出UITableview
在UIWebview.
我尝试设置标题框但是它不起作用,它给webview和表视图都有它自己的不需要的scrollview。
它的解决方案是什么?
谢谢。
答案 0 :(得分:1)
它的分组表视图就是为什么它的对齐不正确导致分组表视图从x-origin和y-origin始终采用一些默认大小...你可以使用普通表或设置分组表的x或增加x-网络视图的起源..
答案 1 :(得分:0)
您是否在“webviewdidfinishedload
”代表中尝试了此操作
请注意“MyWebView"
是触发委托的webview,”webViewHeight
“是int值,在它之后你应该添加自定义控件并将其声明为public,这是我的工作代码的快照...在webview之后添加uitableview以添加评论。
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
CGSize size = [MyWebView sizeThatFits: CGSizeMake(1.0f, 1.0f)]; // Pass any size here
CGRect frame = MyWebView.frame;
frame.size.height = size.height;
MyWebView.frame = frame;
webViewHeight = size.height + 200;
}