【发布时间】:2016-11-22 03:45:46
【问题描述】:
我正在尝试制作具有“动态屏幕高度”的 UIWebView。此 webview 位于 UIScrollView 内,位于其他组件下方。查看布局(它使用自动布局):
我的想法是只提供一个滚动条(来自 UIScrollView - 它的工作)并使 WebView 视口根据内容大小而增长。而且它不起作用。
我做了什么来尝试这样做:
- UIWebView 属性“缩放页面以适应”已开启;
- UIWebView 未分页;
- UIWebView 不允许用户交互。
在我的 UIViewController 中:
- (void) viewDidAppear:(BOOL)animated {
NSString *urlString = @"MY URL GOES HERE";
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
[_webViewDescription loadRequest:urlRequest];
_webViewDescription.delegate = self;
_webViewDescription.scrollView.scrollEnabled = NO;
_webViewDescription.scrollView.bounces = NO;
}
我的 UIWebViewDelegate:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
CGRect frame = webView.frame;
frame.size.height = 1;
webView.frame = frame;
CGSize fittingSize = [webView sizeThatFits:CGSizeZero];
frame.size = fittingSize;
webView.frame = frame;
NSLog(@"size: %f, %f", fittingSize.width, fittingSize.height);
_myScrollView.contentSize = webView.bounds.size;
}
当我运行代码时,它会打印正确的 UIScrollView 大小和 UIWebView 大小。 UIScrollView 的高度变大了,但 UIWebView 保持与第一次加载相同的高度。
我正在真实设备中进行测试。
【问题讨论】:
-
我设置的动态高度。但是我没有为布局约束设置它。请问你。我的代码有用吗?
标签: ios objective-c iphone uiscrollview uiwebview