2012-10-16 2 views
3

내가보기에는 아주 간단하게로드 한 :보기 NIB에서로드 및 addSubView 다음하지 제약으로 표시는

self.splashView = [[[NSBundle mainBundle] loadNibNamed:@"DownloadingData" 
                 owner:nil options:nil] objectAtIndex:0]; 
[self.view addSubview:self.splashView]; 

이 상태 표시 줄, 메뉴 표시 줄 및 하단 바 세트 세로 모드에서 전체 높이 4 "망막보기입니다 아무도. 그것은 이미지가 아래쪽에 정렬되도록 제약이 있습니다. 나는 다른 위치에서 컨트롤러 내의 응용 프로그램에서 비슷한보기를 사용하고 그들은 (NavigationBar 및 TabBar 사용하여) 사용 가능한 공간으로 크기를 조정합니다. 그러나이 뷰는 직접 펜촉을 클릭 한 다음 추가하면 구속 조건을 무시하는 것처럼 보입니다.

보기는 모든 종류의 상황에서 사용하기위한 것입니다. 예 : 네비게이션 바/탭 바를 자유롭게 조합 할 수 있습니다.

splashView에서 setNeedsLayout, setNeedsUpdateConstraints의 다양한 조합을 시도했습니다. 또한 뷰 자체에 layoutSubviews을 호출 해 보았습니다.

누구든지 조언을 해줄 수 있습니까? 이 경우 다른 방향으로해야합니까? viewController를 사용하거나 코드에서 수동으로 제약 조건을 추가 하시겠습니까?

답변

6

이 잘 나는 정말 분명했다 추측 예상대로

self.splashView = [[[NSBundle mainBundle] loadNibNamed:@"DownloadingData" 
               owner:nil options:nil] objectAtIndex:0]; 
[self.view addSubview:self.splashView]; 
[self.splashView setFrame:self.view.frame]; 

그런 다음 자동 크기 조절/제약 작동합니다.

+0

왜 프레임을 설정해야합니까? 나는 동일한 문제를 겪고 있으며 자동 레이아웃에서 모든 것을하기를 원합니다. 그래, 알아? –

+0

나는 완전히 정직 할 생각이 없다. 꽤 오래 돌아 왔고, 지금은 그렇게하지 않는다. 당시에는 IB에서의 제약 조건 처리가 끔찍했기 때문에 이제는 몇 가지 단점이 있습니다. 스토리 보드에서 비슷한 설정으로 작업해도 그 문제는 없으며 프레임을 설정해야합니다. 이 모든 질문/대답은 제약 조건에 대한 내 이해와 Xcode/Interface Builder의 열악한 처리 (2012 년)로 인해 문제가 될 수 있습니다. – Diziet

+0

하위보기 i/e에 경계를 사용하는 것이 더 좋습니다. self.splashView.frame = self.view.bounds – sim