Ios WKWebView不断突破限制?
我创建了一个带有两个不同部分的Ios WKWebView不断突破限制?,ios,objective-c,iphone,autolayout,Ios,Objective C,Iphone,Autolayout,我创建了一个带有两个不同部分的UIViewController。有一个headerView和一个contentView,我想在其中添加一个WKWebView实例 由于我是以编程方式创建WKWebView,因此我必须以类似的方式添加约束 下面是我如何添加它们的: -(void)loadYoutubeVideoWithID:(NSString *)videoID { if (![self webView]){ /* Create WebView */ WKWe
UIViewController
。有一个headerView
和一个contentView
,我想在其中添加一个WKWebView
实例
由于我是以编程方式创建WKWebView
,因此我必须以类似的方式添加约束
下面是我如何添加它们的:
-(void)loadYoutubeVideoWithID:(NSString *)videoID {
if (![self webView]){
/* Create WebView */
WKWebView *webView = [[WKWebView alloc]initWithFrame:CGRectMake(0, 0, self.contentView.frame.size.width, self.contentView.frame.size.height)];
/* Set Delegate */
[webView setNavigationDelegate:self];
/* Set Local Property */
[self setWebView:webView];
/* Add to content view */
[self.contentView addSubview:webView];
/* Create Constraints */
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[webView]-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(webView)]];
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[webView]-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(webView)]];
}
}
尽管增加了限制,但我无法让它们得到尊重。基于StackExchange中的其他答案,我尝试了四种不同的约束,但我的WKWebView
在屏幕旋转时从不调整大小
我不知道如何解决这个问题。我已经链接了关于打破约束的输出日志(相当长),但它对我没有多大用处
有人知道为什么我无法调整WKWebView
谢谢你抽出时间
编辑:当使用常规UIImageView代替WKWebView时,这也会发生。解决此问题相当简单。它要求您添加以下行:
[webView设置TranslatesAutoResizingMaskintoConstraints:否]代码>
初始化WKWebView
实例后,或在内容视图中要调整大小的任何其他UIView
。下面是一个固定的示例:
-(void)loadYoutubeVideoWithID:(NSString *)videoID {
if (![self webView]){
/* Create WebView */
WKWebView *webView = [[WKWebView alloc]initWithFrame:CGRectMake(0, 0, self.contentView.frame.size.width, self.contentView.frame.size.height)];
/* Ensure Constraints remain when resizing the View */
[webView setTranslatesAutoresizingMaskIntoConstraints:NO];
/* Set Delegate */
[webView setNavigationDelegate:self];
/* Set Local Property */
[self setWebView:webView];
/* Add to content view */
[self.contentView addSubview:webView];
/* Create Constraints */
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[webView]-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(webView)]];
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[webView]-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(webView)]];
}
}
我希望其他人能发现这一点