2011-03-15 5 views
3

내 tabBarController의 하위 뷰로 추가 된 모달 뷰를 표시하는 다음 코드가 있습니다. 그러나 수신 휴대 전화가 상단에있는 녹색 상태 표시 줄을 내 응용 프로그램을 중단하고 표시 할 때이 가능하도록 autoresizingMask 속성을 사용에도 불구하고, 나는이 이벤트 후 전체보기를 20 픽셀로 변위 찾을 수 아래로모달 뷰 대체 됨

- (void) showLogin:(UIView*) modalView 
    { 
    CGPoint middleCenter = CGPointMake(160, 226); 
    CGSize offSize = [UIScreen mainScreen].bounds.size; 
    CGPoint offScreenCenter = CGPointMake(offSize.width/2.0, -210); // start from top 
    modalView.center = offScreenCenter; // we start off-screen 
     modalView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin; 
    [self.tabBarController.view addSubview:modalView]; 

    // Show it with a transition effect 
    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:0.4]; // animation duration in seconds 
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
    modalView.center = middleCenter; 
    [UIView commitAnimations]; 
    } 

방법 이거 해결해? 감사합니다.

+0

설명 : "전체보기가 옮겨졌습니다"라고 말하면 modalView 또는 tabBarController.view를 의미합니까? – TechZen

+0

전체 화면 비디오에서 돌아올 때 모달과 비슷한 문제가 있습니다. –

+0

죄송합니다. 모달보기가 녹색 막대의 높이만큼 아래쪽으로 옮겨졌습니다. – tech74

답변

2

시뮬레이터 대 장치 문제가 아닙니까?

시뮬레이터에서 막대가 간단히 나타납니다. 그러나 그것은 실제 장치에서는 결코 일어나지 않을 것입니다.

실제 기기 상단에 녹색 막대가 표시되지 않습니다. 대신 앱이 사라집니다. 앱이 "반환"하면보기가 완전히 다시 작성됩니다.

+0

아니요, 이것은 휴대 전화가 연결되어있을 때 시뮬레이터에서 바가 나오지 않을 것입니다. 전화가 여전히 활성화되어있는 동안 내장 된 휴대 전화 앱에서 다른 앱으로 전환하십시오 – tech74

+0

터치하여 ' 전화로 돌아 가기 ' – tech74

+0

그래, 그건 내가 말하는 바야. 실제 장치에서는 절대로 나타나지 않습니다. 당신은 배경으로 보내질 것이고, 다시 포어 그라운드로 돌아 가면 당신의 시야가 다시 뻗어 나옵니다. 크기가 제대로 조정되지 않으면 크기 조정 등록 정보가 잘못되었습니다. 중단에 대한 응답 : http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/CoreApplication/CoreApplication.html –

1

바 표시 줄 위에 모달보기 컨트롤러 만 표시하면 어떨까요?

물론 modalView를 뷰 컨트롤러로 래핑해야하지만 문제가되지는 않습니다.

[self.tabBarController.view presentModalViewController: ... animated: YES]; 
1

당신은 self.tabBarController.view-(void)layoutSubviews을 무시하는 뷰의 새로운 경계를 확인하고 경계 변화에 따라 손으로 로그인보기 위치를 변경할 수 있습니다.

관련 문제