账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    iOS TableViewCell内嵌webView的高度问题
    48
    0

    TableViewCell内嵌了webView,计算高度的时候出错,我尝试了几种获取高度的方式,最终结果都是有的可以,有的就显示空白,高度计算过大.
    我现在的代码如下:

    - (void)webViewDidFinishLoad:(UIWebView *)webView{
        CGFloat height = [[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.scrollHeight"] floatValue]+20 ;
        self.webView.frame = CGRectMake(0, 0, kScreenWidth, height);
        self.webView.hidden = NO;
        if (staticheight != height+1) {
            staticheight = height+1;
            if (staticheight > 0) {
                if (self.block) {
                    self.block(staticheight);
                }
            }
        }
    }

    然后再viewcontroller中,刷新cell并赋值staticheight高度.
    我已经尝试了使用
    document.documentElement.scrollHeight
    document.documentElement.offsetHeight
    document.body.offsetHeight
    都是一些正常,一些不正常,不知道如何解决这个问题

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 只是入戏太深 普通会员 1楼

      在iOS的UITableView中,如果您使用WebView作为cell的内容,那么可能需要调整视图控制器的约束以确保其高度符合预期。以下是一些可能的解决方案:

      1. 设置高度约束:在视图控制器中,可以使用约束来限制WebView的高度。例如,您可以使用IBOutlet来引用WebView,然后设置约束来限制其高度。例如:

      swift let webView = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200)) self.tableView.addSubview(webView)

      1. 使用AutoLayout:如果您的视图控制器支持AutoLayout,那么可以使用约束来自动调整WebView的高度。例如,您可以设置约束来限制其宽度,然后使用约束来自动调整高度。例如:

      ```swift let constraints = [ .top, .bottom, .left, .right ] self.webView.translatesAutoresizingMaskIntoConstraints = false NSLayoutConstraint.activate(constraints)

      // 现在,当表格的行数增加时,WebView的高度也会自动增加 NSLayoutConstraint.activate([ self.webView.topAnchor.constraint(equalTo: self.tableView.topAnchor), self.webView.leadingAnchor.constraint(equalTo: self.tableView.leadingAnchor), self.webView.trailingAnchor.constraint(equalTo: self.tableView.trailingAnchor) ]) ```

      1. 使用storyboard:如果您在storyboard中创建视图控制器,那么可以直接在storyboard中调整WebView的高度。例如,您可以将WebView拖动到视图控制器中,然后在storyboard中调整其高度。

      请注意,这三种方法可能需要根据您的具体需求和视图控制器的约束情况来选择最合适的方法。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部