Próbowałem każdej permutacji znanej ludzkości i nie mogę poprawnie uzyskać rozmiaru UIWebView w widoku formularza modalnego dla iPada. Strona wciąż wyświetla pełną szerokość portretu iPada 768 punktów.Jak rozmiar UIWebView w UIModalPresentationFormSheet?
Gdzie i jak powiedzieć UIWebView, aby wyświetlić szerokość 540 punktów?
Myślałem, że "scalesPageToFit" ma to zrobić, ale to nie działa.
Próbowałem ustawić widok internetowy na rozmiar widoku formularza, który wynosi 540 x 576 z nawigacją i paskiem stanu. Wysokość jest jednak nieistotna.
Próbowałem dodać UIWebView do UIView w storyboardie z wszystkimi ustawieniami zmiany rozmiaru. Następnie usunąłem UIWebView i dodałem go programowo.
- (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;
...
}
Próbowałem też załadunku viewDidAppear (oprócz viewDidLoad, viewWillAppear itp)
- (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];
}
żadnych rekomendacji doceniane.
Moja obecna implementacja jest to, że napisałem skrypt Pythona do analizowania i generowania stron docelowych, od strony źródeł jak help_ipad.html które są dostępne w widoku formularza na iPada. – Christopher
Warto zwrócić uwagę na jeden punkt: jeśli nie wyczyścisz okna, które znalazłem podczas obracania aplikacji, utracisz zastosowane atrybuty. Możesz wyczyścić widok, uruchamiając ten skrypt w pierwszej kolejności: [webView stringByEvaluatingJavaScriptFromString: @ "$ ('meta [name = viewport]'). Remove();"]; – Vlad