【问题标题】:UIWebView is not resizing in iOS8UIWebView 在 iOS8 中没有调整大小
【发布时间】:2014-11-10 19:22:11
【问题描述】:

我正在使用 XIB 为 iOS 7 和 iOS8 开发基于表视图的 iOS 应用程序,我需要将 UIWebView 显示为表视图的页脚视图。我在我的XIB中添加了UIWebView,我不知道为什么我不能根据内容滚动完整的UIWebView,好像被锁定了。

这是我的代码:

- (void)webViewDidFinishLoad:(UIWebView *)aWebView {

    webViewSocial.scrollView.scrollEnabled = NO;
    CGFloat height = [[webViewSocial stringByEvaluatingJavaScriptFromString:@"document.height"] floatValue];
    CGFloat width = [[webViewSocial stringByEvaluatingJavaScriptFromString:@"document.width"] floatValue];
    CGRect frame = webViewSocial.frame;
    frame.size.height = height;
    frame.size.width = width;
    webViewSocial.frame = frame;

    tblAlerts.tableFooterView = webViewSocial;
}

【问题讨论】:

    标签: ios uitableview uiwebview ios8


    【解决方案1】:

    您的 webView 委托方法的参数是“aWebView”,但您在方法主体中使用了“webViewSocial”。如果您打算将实现应用于调用它的任何 webView,则需要将局部变量与参数名称相匹配。那是除非“webViewSocial”是一个 ivar(在这种情况下,我会使用 _ 前缀以避免混淆。如果它是你的类的属性,我会使用 self.webViewSocial。

    【讨论】:

    • 感谢兄弟的回答,我已经尝试将 UIWebView 名称“webViewSocial”更改为“aWebView”,但我的问题还是一样。
    • 你确认委托方法在它应该被调用的时候被调用了吗?
    • 是的,它的调用很完美,上面我的代码在 iOS 7 上运行良好,但在 iOS8 上却不行。
    • 既然代码很好,那么我猜这是一个自动布局问题。 iOS 8 在故事板中添加了一堆(烦人的)自动布局和视图类的东西。几周前,我不得不自己关闭自动布局才能让一些 webView 的东西正常工作。
    • 但是我已经使用 xib 禁用了我的 web 视图的自动布局。
    【解决方案2】:

    这是 Swift 3 版本

    func webViewDidFinishLoad(_ webView: UIWebView) {
            var frame = yourWebView.frame
            frame.size.height = 1
            let fittingSize = yourWebView.sizeThatFits(CGSize.zero)
            frame.size = fittingSize
            heightOfyourWebView.constant = fittingSize.height
            tblAlerts.tableFooterView = yourWebView;
         }
    

    【讨论】:

      猜你喜欢
      • 2013-07-27
      • 1970-01-01
      • 2016-03-17
      • 1970-01-01
      • 1970-01-01
      • 2013-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多