Ich habe jede Permutation ausprobiert, die der Menschheit bekannt ist, und ich kann kein UIWebView richtig in einer modalen Formansicht für das iPad sortieren. Die Webseite zeigt weiterhin die volle Breite des iPad-Portraits von 768 Punkten an.Wie Größe UIWebView in einem UIModalPresentationFormSheet?
Wo und wie sage ich UIWebView, Breite 540 Punkte anzuzeigen?
Ich dachte 'ScalesPageToFit' soll dies tun, aber es funktioniert nicht.
Ich habe versucht, die Webansicht auf die Größe der Formularansicht einzustellen, die 540 x 576 mit Navigation und Statusleiste ist. Die Höhe ist jedoch irrelevant.
Ich habe versucht, ein UIWebView zu einem UIView in einem Storyboard mit allen Größenanpassung Set hinzuzufügen. Ich habe dann das UIWebView entfernt und programmgesteuert hinzugefügt.
- (void)viewDidLoad
{
[super viewDidLoad];
CGRect aFrame = self.view.frame;
if (IS_IPAD)
{
aFrame = CGRectMake(0, 0, FORM_VIEW_WIDTH, FORM_VIEW_HEIGHT);
}
_webView = [[UIWebView alloc] initWithFrame:aFrame];
[_webView setOpaque:NO];
[_webView setDelegate:self];
[_webView setScalesPageToFit:YES];
self.view = _webView;
...
}
Ich habe auch versucht, in viewDidAppear (zusätzlich zu viewDidLoad, viewWillAppear, etc.) Laden
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[[self webView] setFrame:CGRectMake(0, 0, FORM_VIEW_WIDTH, FORM_VIEW_HEIGHT)];
[[self webView] setScalesPageToFit:YES];
NSURL *webURL = [NSURL URLWithString:@"http://www.google.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:webURL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:5.0f];
[[self webView] loadRequest:request];
}
Irgendwelche geschätzt Empfehlungen.
Meine aktuelle Implementierung ist, dass ich ein Python-Skript geschrieben habe, um Zielseiten von Quellseiten als help_ipad.html zu analysieren und zu generieren, auf die in der Formularansicht auf dem iPad zugegriffen wird. – Christopher
Ein Punkt, den ich beachten sollte: Wenn Sie das Bildfenster nicht löschen, das ich beim Drehen der App gefunden habe, werden die angewendeten Attribute gelöscht. Sie können das Ansichtsfenster löschen, indem Sie zuerst dieses Skript ausführen: [webView stringByEvaluatingJavaScriptFromString: @ "$ ('meta [name = viewport]'). Remove();"]; – Vlad