2010-02-24 18 views
6

Tôi mới phát triển iphone. Trong ứng dụng của tôi, tôi muốn hiển thị chế độ xem web trong thiết bị với Orientation.It chân dung c cũng nên hỗ trợ hướng ngang. Tôi đã sử dụng phương pháp dưới đây nhưng không có kết quả mong đợi.Chế độ xem trang web tự động đổi kích thước thành chế độ xem dọc và ngang trong iphone

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 

return (interfaceOrientation == UIInterfaceOrientationPortrait || 

interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == 

UIInterfaceOrientationLandscapeRight); 
} 

xin vui lòng hướng dẫn giúp tôi me.Please out.Thanks

Trả lời

10

Tôi nghĩ rằng bạn đã thiết lập các khung cố định cho webview.That sẽ không giúp đỡ trong khi thực hiện định hướng chage

Hãy thử này:

Sử dụng mã này để hiển thị các trang web-view.Change stack -nguồn luồng với URL của bạn;

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]; 

Để hỗ trợ định hướng

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

} 

Đối với web-view thay đổi với định hướng

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

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

Hy vọng ở trên sẽ đáp ứng yêu cầu của bạn. Tất cả tốt nhất.

+0

Cảm ơn bạn. Tôi muốn hiển thị thanh công cụ trong chế độ xem web của mình? Làm thế nào tôi có thể đạt được điều này?. tôi không thể thấy thanh công cụ trong chế độ xem web của tôi. – Pugal

+0

@pugal Chèn thanh tab dưới dạng xem phụ ... [self.view insertSubview: tBar belowSubview: contentView]; thay đổi tBar thành thanh công cụ bạn đã sử dụng. – Warrior

0

Nếu bạn muốn hỗ trợ bất kỳ định hướng sau đó chỉ cần trở YES.

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

Điều này đã không được chấp nhận trong iOS 6: https://developer.apple.com/library/ios/documentation/uikit/reference/UIViewController_Class/DeprecationAppendix/AppendixADeprecatedAPI.html#jumpTo_9 – poshaughnessy