Próbuję wyświetlić plik PDF w interfejsie użytkownika interfejsu użytkownika, korzystając z całego ekranu urządzenia, z wyjątkiem paska stanu i paska górnego. Do tej pory utworzyłem IBOutlet UIWebview *webview;
w moim pliku .h. Podłączyłem webview w moim ujęć i napisał następujący kod w moim pliku .m:UIWebview Pełny rozmiar ekranu
- (void)viewDidLoad
{
[super viewDidLoad];
webview = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
webview.scalesPageToFit = YES;
webview.autoresizesSubviews = YES;
webview.autoresizingMask=(UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth);
[webview setBackgroundColor:[UIColor clearColor]];
NSString *path = [[NSBundle mainBundle] pathForResource:@"Chart" ofType:@"pdf"];
NSURL *targetURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webview loadRequest:request];
[self.view addSubview:webview];
}
PDF wyświetla prawidłowo w moim 3,5 cala, ale w moim 4-calowy wyświetlacz, dno jest odcięta. Jest to jeszcze bardziej zauważalne, gdy obracam do widoku poziomego. Około 33% ekranu nie jest w ogóle używane. Jak mogę to naprawić? Wiem, że to musi mieć coś wspólnego z wymiarami UIWebview w powyższym kodzie (webview = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
), ale czy istnieje lepszy sposób na proste wyświetlenie widoku na całym ekranie bez określania wysokości i szerokości ekranu?
dodałem ten kod, ale jest błąd: „Przypisywanie do 'CGRect' (aka 'struct CGRect') od niezgodnych typu 'int' ... –
właśnie zrobił - (void) { viewDidLoad [super viewDidLoad]; \t webview = [[alokacja UIWebView] initWithFrame: CGRectMake (0, 0, self.view.frame.size.width, self.view.frame.size.height)], a teraz działa! Dziękujemy! –
Jeśli ktoś się zastanawiał, powodem jego działania jest poprawienie CGRectmake do CGRectMake, a nie dlatego, że zmieniono go na initWithFrame. –