【问题标题】:Setting up a webView with undefined frame (programmatic layout)使用未定义的框架设置 webView(程序化布局)
【发布时间】:2015-02-05 20:55:37
【问题描述】:

所以我正在尝试将 HTML 字符串加载到 iOS 上的 Web 视图中(通过 loadHTMLString: baseURL:]

我想这样定义我的 webView:

- (UIWebView *)webView {

if (!_webView) {

    _webView = [UIWebView new];
    _webView.translatesAutoresizingMaskIntoConstraints = NO;
    _webView.backgroundColor = [UIColor clearColor];
    _webView.allowsInlineMediaPlayback = YES;
    _webView.mediaPlaybackRequiresUserAction = YES;
    _webView.delegate = self;

    [self.contentView addSubview:_webView];
}
return _webView;
}

我需要它出现在子视图中,因为我希望其他东西出现在同一个视图中。问题是,什么都没有出现。我已经测试了一些东西:

我清除了除了滚动视图、其中的内容视图和 Web 视图(使用 constraintWithVisualFormat、constraintWithItem 和延迟加载)之外的视图。什么都没有显示。

然后我尝试完全清除所有内容并将 _webView = [UIWebView new] 替换为 _webView = [[UIWebView alloc] initWithFrame:self.view.frame]; 这行得通。尽管如此,它并没有解决我的问题,因为我想要一个视图下的多个东西。

那么,如果我一开始就无法将框架定义为整个视图,我该如何让 webView 显示出来呢?

【问题讨论】:

    标签: ios objective-c xcode


    【解决方案1】:

    您所描述的完全有可能。也许您以错误的方式添加约束,或者您的 html 不是您的 webview 的 100%。

    我建议您使用库来处理约束,这更直观且不易出错。例如你可以考虑PureLayout

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多