WKWebViewをself.viewのすべての側面に固定するだけで、回転に関係なく常に可能な限り伸びます。WKWebViewの制約が機能しない
-(void)viewWillAppear:(BOOL)animated {
[super viewDidLoad];
self.title = @"Worship Slides";
self.productURL = @"http://www.316apps.com/Fritch/worship.key";
NSURL *url = [NSURL URLWithString:self.productURL];
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60.0];
_theWorship = [[WKWebView alloc] initWithFrame:self.view.frame];
[_theWorship setTranslatesAutoresizingMaskIntoConstraints:NO];
[_theWorship loadRequest:request];
_theWorship.frame = CGRectMake(0, 0, self.navigationController.view.bounds.size.width, self.navigationController.view.bounds.size.height);
[self.view addSubview:_theWorship];
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:_theWorship attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.bottomLayoutGuide attribute:NSLayoutAttributeTop multiplier:1.0 constant:0]];
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:_theWorship attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom multiplier:1.0 constant:0]];
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:_theWorship attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeft multiplier:1.0 constant:0]];
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:_theWorship attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeRight multiplier:1.0 constant:0]];
}
'viewWillAppear'で' super viewDidLoad'を呼び出さないでください。あなたは 'superviewWillAppear'を呼び出す必要があります!そうでなければ、あなたのコードはうまく見えます(2つの 'frame'設定が無意味であり、削除する必要がありますが、害はありません)。ウェブビューが消えていますか?回転を行い、View Debuggerを使用してWebビューの実際の位置を確認します。 – matt
あなたは[super viewDidLoad]を呼び出すtypoを持っています - 本当に正しいはずです。この関数は '-viewDidLoad'でなければなりません。 –
@matt viewWillAppearでこれをしてはいけません。これはviewDidLoadで行うべきです。 –