J'essaye d'afficher un pdf dans un UIWebview utilisant l'écran entier de l'appareil, excepté la barre d'état et la barre supérieure. Jusqu'à présent, j'ai créé IBOutlet UIWebview *webview;
dans mon fichier .h. Je me suis connecté WebView dans mon story-board et écrit le code suivant dans mon fichier .m:UIWebview plein écran taille
- (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];
}
Le PDF se affiche correctement dans mon 3,5 pouces, mais à mon écran 4 pouces, le fond est coupé. C'est encore plus perceptible lorsque je fais pivoter en vue paysage. Environ 33% de l'écran n'est pas utilisé du tout. Comment puis-je réparer cela? Je sais que cela doit avoir quelque chose à voir avec les dimensions de UIWebview dans mon code ci-dessus (webview = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];
), mais y a-t-il un meilleur moyen d'afficher simplement le webview sur tout l'écran sans spécifier une hauteur et une largeur d'écran spécifique?
J'ajouté ce code, mais il y a une erreur: « Attribution de 'CGRect' (alias 'struct CGRect') de type incompatible 'int' ... –
Je viens de - (void) viewDidLoad { [super viewDidLoad]; \t webview = [[UIWebView alloc] initWithFrame: CGRectMake (0, 0, self.view.frame.size.width, self.view.frame.size.height)] et maintenant ça marche! –
Dans le cas où quelqu'un se demandait, la raison pour laquelle cela a fonctionné est que vous avez corrigé CGRectmake à CGRectMake, pas parce qu'il a été changé en initWithFrame –