次のコードを使用して、角を丸くした UIWebView を適用しました。
self.bodyWebView = [[UIWebView alloc] initWithFrame:webViewFrame];
self.bodyWebView.backgroundColor = [UIColor clearColor];
self.bodyWebView.delegate = self;
self.bodyWebView.scalesPageToFit = YES;
self.bodyWebView.scrollView.bounces = YES;
self.bodyWebView.scrollView.delegate = self;
self.bodyWebView.scrollView.layer.backgroundColor = [UIColor scrollViewTexturedBackgroundColor].CGColor;
self.bodyWebView.layer.cornerRadius = 3.0;
self.bodyWebView.clipsToBounds = YES;
self.bodyWebView.layer.shadowColor = [UIColor grayColor].CGColor;
self.bodyWebView.layer.shadowOffset = CGSizeMake(0.0,1.0);
self.bodyWebView.layer.shadowRadius = 1.0;
self.bodyWebView.layer.shadowOpacity= 1.0;
self.bodyWebView.layer.opacity = 1.0;
私が見つけたのは、これが角の丸い UIWebView を正しく描画することですが、次のコードでビューコントローラーを上に表示すると、iPad で何が起こるかということです:
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
navigationController.modalPresentationStyle = UIModalPresentationPageSheet;
self.navigationController presentModalViewController:navigationController animated:YES];
iPad では、基礎となる UIWebView から UIWebView の上に表示されるビュー コントローラーまで色がにじみます。これは clipsToBounds=YES を削除することで修正できますが、その時点で UIWebView の角の丸みが失われます。
他の誰かがこれを見たことがあるかどうか、そしてこれを修正できるかどうか疑問に思っていますか?