2010-12-24 2 views
0

보기를로드 한 후 방향을 가로로 변경했습니다. 거기에서 파란 띠가 보이고보기가 아래로 움직입니다. 다른 탭으로 가서 다시 돌아올 때 제대로 작동합니다.뷰 자동 크기 조정이 처음으로 작동하지 않는 이유는 무엇입니까?

아무도 도와 줄 수 있습니까?

나는이보기 크기 조정하기 위해 수행 한 : 여기

-viewDidLoad: 
{ 
self.view.autoresizingMask =(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleRightMargin); 
self.view.autoresizesSubviews; 
[super viewDidLoad]; 
} 
-shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 

return YES; 
} 

이 스크린 샷입니다 :

alt text

답변

0

I 자동 크기가있는 viewDidLoad 전에 트리거 생각, 행동은 반드시 잘 정의되지 않습니다 . 초기화 단계에서 (또는 펜촉에서 뷰를로드하는 경우 인터페이스 빌더에서) 자동 크기 조정 마스크 옵션을 추가 할 수 있는지 확인하십시오. 전반적으로 더 많은 정보가 도움이 필요합니다. 그러나 "viewDidLoad"에 들어갈 때까지 많은 것들이 뷰에 완료되었습니다 (결국로드되고 사용할 준비가되었습니다).

+0

나는 초기화 방법을 시도 ..... 그 작동하지 .... 다른보기에서, naviagtionbar 만든 및 (하위보기로) self.view 추가되었습니다. 초기화 메쏘에서 자동 크기 조절 마스크를 설정하십시오. 그 시점은 상태 표시 줄 아래에 2cm 아래에 처음으로 나타납니다. 다른 탭에서 돌아 왔을 때 상태 표시 줄 아래에서 다시 작동했습니다. –

+0

아마도 viewDidLoad를 사용하여 self.frame 매개 변수가 올바른 위치에 있도록 수정할 수 있는지 확인하십시오. 창의 크기를 제대로 파악할 수 있어야합니다. 궁극적으로 인터페이스 빌더를 사용하는 경우 올바른 자동 크기 설정을 설정하면 모든 문제가 해결됩니다. 나는 처음부터 객체를 생성 할 때 수동으로 자동 크기 조절 마스크를 설정합니다 (이 경우 addSubview가 호출되기 전에 설정됩니다) –

관련 문제