2012-09-25 3 views
2

누군가 iOS가 인터페이스 회전시 수행하는 작업을 설명 할 수 있습니까? 아이폰을 회전 한 후에 사라진 하나의 뷰에 레이아웃 문제가있다. 뷰가 새로운 프레임, 범위 또는 무엇이든간에 설정되지 않은 것으로 보입니다. 아무튼 인터페이스가 한 번 회전 된 후에 layoutproblem은 영원히 사라졌습니다. 따라서 인터페이스가 회전 할 때 무언가가 뷰로 설정되어야합니다. 뾰족 파일에서보기를로드하고있는 navigationController으로 보여정확히 인터페이스 회전에서 UIView는 어떻게 이루어 집니까?

미안 :

BirthdayReminderWidgetConfigViewController *vc = [self.storyboard 
    instantiateViewControllerWithIdentifier:@"BirthdayConfigController"]; 
self.navigationController pushViewController:vc animated:true]; 

아마 내가 인터페이스를 회전하지 않고 올바른보기를 표시하기 위해해야 ​​할 몇 가지 설정이 있습니다.

이 프로젝트는 MainStoryboard이 포함

I've는 다음과 같이 nib 파일에서로드 뷰와 레이아웃 문제가있어. 그 안에, nib 파일에서 뷰를로드합니다.

NSArray *xib = [[NSBundle mainBundle] loadNibNamed:@"View" owner:self options:nil]; 
self.configViewController = [xib objectAtIndex:0]; 

스토리 보드는 네비게이션 컨트롤러를 가지고 있으며,로드 뷰는 다음과 같이 표시됩니다 : 잘못 내 의견으로는 아무것도에 따라서

if (currentWidgetConfigViewController != nil) 
    { 
     [self.navigationController pushViewController:currentWidgetConfigViewController animated:true]; 
    } 

? (첫 번째 질문) 하지만 이제 문제가 생겼습니다.

enter image description here

은 무엇 아이폰 OS가하는 것은

enter image description here

컨트롤이 잘 정리되지 않습니다 다음과 같다 : 내가 설계 무엇

는 점이다.

내가 그 코드와 PeoplePicker를 열어 새보기의 버튼과 그 외에

는 :

enter image description here

:

[self presentViewController:self.picker animated:YES completion:nil]; 

사람들이 [self.picker dismissViewControllerAnimated:true completion:nil];와 선택기 닫은 후 나는이 결과를 얻을 수

그래서 여기서 무엇이 잘못 될까요?

- (void) setFrame: (CGRect) newFrame 
{ 
    NSLog(@"New frame: %@", NSStringFromCGRect(newFrame)); 
    [super setFrame:newFrame]; 
} 

는 또한, transform은 일반적으로 회전시 변경 :보기에

+0

보기가 회전 할 때마다 프레임의 프레임을 변경해야합니다. 가로보기의 세로 크기가 세로보다 작기 때문에 가로 320 세로 또는 세로 320을 넘어서는보기가있는 경우 바인딩됩니다. 숨겨져 있어야합니다. –

답변

1

재정 -setFrame:-setBounds:는 어떻게되는지 확인합니다. Orientation Zoo 도움이 될 것입니다. 다양한 순환 사용 사례에서 발생하는 상황을 보여주는 샘플 Xcode 프로젝트입니다. 오랫동안 그것을 만지지 않았으니, 아직 작동하는지 모르겠습니다.

관련 문제