У меня есть образец проекта, где я создаю пользовательский UIViewController.UIView с проблемами поворота
#import "ViewController.h"
@implementation ViewController
@synthesize webViews = _webViews;
@synthesize webView = _webView;
- (void)setWebView:(UIWebView *)webView {
if (webView!=_webView) {
[self.webView removeFromSuperview];
_webView = nil;
_webView = webView;
[self.view addSubview:self.webView];
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com/"]]];
}
}
- (IBAction)newWebView:(id)sender {
self.webView = [self.webViews objectAtIndex:1];
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
UIWebView *webView1 = [[UIWebView alloc] initWithFrame:self.view.bounds];
webView1.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
UIWebView *webView2 = [[UIWebView alloc] initWithFrame:self.view.bounds];
webView2.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.webViews = [NSArray arrayWithObjects: webView1, webView2, nil];
self.webView = [self.webViews objectAtIndex:0];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
@end
Два UIWebView «ы создаются внутри viewWillAppear:animated
и хранятся в массиве - и чем первый UIWebView добавляется к подвид из self.view. При нажатии кнопки на панели навигации первый из UIWebView будет удален из подвью, а следующий будет добавлен.
Проблема заключается в том, что если я запускаю приложение в ландшафте (как iPhone, так и iPad) после второго UIWebView, WebView не заполняет весь экран. Зачем?
Вы можете скачать небольшой образец проекта здесь: http://uploads.demaweb.dk/WebView.zip.