2010-03-31 5 views
6

많은보기가있는 응용 프로그램이 있습니다. 기기가 회전 할 때 가로로 회전 할 수있는보기가 두 개만 있어야합니다. 내 앱에서 모든보기가 회전하기 때문에 (BOOL)shouldAutorotateToInterfaceOrientation을 사용할 수 없다는 것을 알았습니다. 스택 오버플로 (Stack Overflow)에서이 문제에 대한 해결책을 찾았지만 이제는 다른 문제가 있습니다.회전 할 때 iPhone에서보기 크기 조정

장치를 돌릴 때보기가 회전하지만보기가 여전히 세로 모드 (똑바로 위아래로) 인 것처럼 보입니다. 뷰의 위쪽과 아래쪽이 잘립니다. 보기를 회전시키고 새 방향에 맞게 크기를 조정하는 방법이 있습니까? 나는 또한 this을 찾았지만 작동시키지 못했습니다.

여기에 해당 뷰에 대한 내 코드입니다 :

@implementation businessBank 
@synthesize webView, activityIndicator; 


- (void)viewDidLoad { 

    [super viewDidLoad]; 
    NSString *urlAddress = @"website_url"; 

    NSURL *url = [NSURL URLWithString:urlAddress]; 
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 

    [webView loadRequest:requestObj]; 
    [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; 
    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(didRotate:) 
               name:UIDeviceOrientationDidChangeNotification 
               object:nil]; 

} 
- (void)didRotate:(NSNotification *)notification { 

    UIDeviceOrientation orientation = [[notification object] orientation]; 

    if (orientation == UIDeviceOrientationLandscapeLeft) { 
     [self.view setTransform:CGAffineTransformMakeRotation(M_PI/2.0)]; 
    } else if (orientation == UIDeviceOrientationLandscapeRight) { 
     [self.view setTransform:CGAffineTransformMakeRotation(M_PI/-2.0)]; 
    } else if (orientation == UIDeviceOrientationPortraitUpsideDown) { 
     [self.view setTransform:CGAffineTransformMakeRotation(M_PI)]; 
    } else if (orientation == UIDeviceOrientationPortrait) { 
     [self.view setTransform:CGAffineTransformMakeRotation(0.0)]; 
    } 
} 

답변

3

당신은 방향, 자동 크기 조정 어쨌든 당신을 위해 잘 작동하지 않을 맞게 뻗어 아주 기본적인 응용 프로그램이 없다면 - 당신이 정말로 만들 필요를 두 방향에 대한 두 개의 분리 된 뷰. ,이 튜토리얼 확인할 수 있습니다 뷰를 자동 크기에 대한 도움말

:

http://theappleblog.com/2009/04/08/iphone-dev-sessions-how-to-make-an-orientation-aware-clock/

가보기를 전환의보다 강력한 방법을 사용하기를,이 튜토리얼은 당신을 도움이 될 것입니다

http://icodeblog.com/2008/08/03/iphone-programming-tutorial-transitioning-between-views/

+0

이 앱은 사용자에게 여러보기 버튼을 보여줍니다. 각 단추는 UIWebView가있는보기를 엽니 다. 웹 페이지를 쉽게 회전시킬 수있는 매우 간단한 앱처럼 보이지만 예상보다 오래 걸립니다. 기본적으로 사파리가 몇 가지 관점에서 수행하는 작업을 원합니다. 이전에 Clock 예제를 살펴 봤지만 원하는 모든 뷰를 회전시키는 shouldAutorotateToInterfaceOrientation 코드를 사용합니다. 인물 사진과 풍경 사진에 대한보기를 개별적으로 만드는 것이 효과가 있지만 사용자가 현재 사용중인 웹 사이트를 재설정하지 않습니까? –

+0

웹 페이지를 저장하는 변수를 저장하거나 시각적 디자이너 대신 UIWebView를 동적으로 생성하여 필요에 따라 뷰에 추가하여 어떤 식 으로든 상태를 유지할 수 있어야합니다 (회전시) . –

+0

웹보기는 사용자가 로그인하여 은행 계좌를 볼 수있는 페이지에 대한 링크입니다. 정보. 그들이있는 웹 사이트를 저장하더라도, 정보를 다시 로그 오프하거나 (별도의 웹 페이지가 아니라 동적으로 정보가 제공되기 때문에) 이전에 어디에 나타나지는 않을 것입니다. shouldAutorotateToInterfaceOriention과 똑같은 풍경으로 webview를 회전시키는 방법이 필요합니다. 모든 단일보기가 아닙니다. 실망스러운 일들. –

관련 문제