2010-02-24 1 views
6

Ich bin neu in iphone development.In meiner App möchte ich die Webansicht in Gerät mit c-Porträt-Ausrichtung anzeigen. Es sollte auch Querformat Orientierung unterstützen. Ich habe die folgende Methode verwendet, aber es gibt keine erwartete Ausgabe.Webview passt sich automatisch an Hoch- und Querformat an in iphone

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 

return (interfaceOrientation == UIInterfaceOrientationPortrait || 

interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == 

UIInterfaceOrientationLandscapeRight); 
} 

bitte leite me.please mir helfen out.Thanks

Antwort

10

Ich glaube, Sie den festen Rahmen für webview.That helfen wird nicht festgelegt haben, während Orientierung chage Umsetzung

Versuchen Sie diese:

Verwenden Sie diesen Code zum Anzeigen der Web-view.Change den Stapel -overflow URL mit Ihrer URL;

contentView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]]; 
contentView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight); 
self.view = contentView; 
self.view.autoresizesSubviews = YES; 


CGRect webFrame = [[UIScreen mainScreen] applicationFrame]; 
webFrame.origin.y -= 20.0; 

webView = [[UIWebView alloc] initWithFrame:webFrame]; 

[contentView addSubview:webView]; 
webView.scalesPageToFit = YES; 
webView.autoresizesSubviews = YES; 
webView.autoresizingMask=(UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth); 
[webView setBackgroundColor:[UIColor clearColor]]; 
NSString *urlAddress = @"https://www.stackoverflow.com"; 
NSURL *url = [NSURL URLWithString:urlAddress]; 
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 
[webView loadRequest:requestObj]; 
webView.delegate =self; 
[webView release]; 

Zur Orientierung

- (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) orientation 
{ 
return YES; 

} 

Für Web-Ansicht Wechsel mit Orientierung

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation 
{ 
if(fromInterfaceOrientation == UIInterfaceOrientationPortrait){ 
[webView stringByEvaluatingJavaScriptFromString:@"rotate(0)"]; 

} 
else{ 
    [webView stringByEvaluatingJavaScriptFromString:@"rotate(1)"]; 
} 
} 

Hoffe, dass die oben befriedigen Ihre Anforderung zu unterstützen. Alles Gute.

+0

Danke. Ich möchte die Symbolleiste in meinem Webview anzeigen? Wie kann ich das erreichen? Ich kann die Symbolleiste in meiner Webansicht nicht sehen. – Pugal

+0

@pugal Fügen Sie die Registerkartenleiste als Unteransicht ein ... [self.view insertSubview: tBar unterSubview: contentView]; Ändern Sie tBar in die Symbolleiste, die Sie verwendet haben. – Warrior

0

Wenn Sie irgendeine Orientierung unterstützen wollen dann nur YES zurück.

- (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) orientation 
{ 
    return YES; 
} 
+0

Dies war in iOS 6 veraltet: https://developer.apple.com/library/ios/documentation/uikit/reference/UIViewController_Class/DeprecationAppendix/AppendixADepreatedAPI.html#jumpTo_9 – poshaughnessy