2013-03-29 2 views
1

AutoLayout의 사용법에 대해 혼란 스럽습니다. 사용시기와 사용하지 않을 때를 이해하지 못했습니다. Xcode 4.5에서 응용 프로그램을 개발하고 시뮬레이터 (4.3,5.0) 등의 prevoius 버전에서 테스트 할 때 응용 프로그램이 예외 "로 충돌ViewController의 xib에 대한 AutoLayout?

Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'Could not instantiate class named NSLayoutConstraint " 

내가 Google을 통해 사라와이. XIB에서 확인 될 때 ​​Use AutoLayout

발생하지만이 Use Autolayout의 선택을 취소 할 때 내가 어떤 예외가 그나마 발견했다.

그러나 내가 retina4 인치에서 애플 리케이션을 테스트 할 때 나는 g를하지 않는다. 뷰의 내용이 맨 위에서부터 시작됩니다. 중간부터 시작합니다. 디자인이 nonretina와 망막에 대해 테스트 할 때 동일하지 않다는 것을 의미합니다. 그 목적을 위해 'Use AutoLayout'checked 상태로 유지했습니다.

나는

어떤 도움/감지 감사 woud ... 들어

+0

당신은 IOS 6 전에 자동 레이아웃 사용할 수없는 단계를 수행합니다. –

답변

0

아이폰 5의 ... 내가 시뮬레이터의 모든 버전과 호환되도록해야합니까? 내 조건을 모두 만족 얻기 위해 무엇을 할 수 4 인치 디스플레이에는 세 번째 기본 이미지 [email protected]가 필요합니다. 그렇지 않으면보기가 레터 박스로 표시됩니다. iOS6 이전의 iOS 버전을 지원하려면 자동 레이아웃 옵션을 비활성화해야합니다. 즉, 자동 크기 조정 마스크를 화면 크기에 따라 코드에서 수동으로 또는 해당 업데이트보기 외에도 수동으로 설정해야합니다.

+0

아이폰 4 인치에 [email protected]를 이미 추가했습니다. 자동 크기 조절 마스크를 어디에 설정할 수 있는지 알려주세요. 화면 크기에 따라 코드 분할 영역의 각 섹션을 각각 작성해야합니다. 나는 아이폰 4와 아이폰 5에서 동일한 텍스트 박스를 생성하기 위해 별도의 코드를 별도로 작성해야한다는 것을 의미한다. – Aaradhya

+0

화면 크기와 뷰 또는 tableView와 같은 큰 요소 만 업데이트하면됩니다. 물론 화면 하단에있는 버튼과 같은 특정 동작이 필요한 경우 해당 프레임도 함께 업데이트해야합니다. –

+0

그리고 자동 크기 조정 마스크에 대해 : 크기 검사기와 빨간색 사각형이있는 사각형을 확인하십시오. (자동 크기 조정 및 빨간색 움직이는 사각형이있는 예제) –

0

Use Autolayout은 iOS 6.0부터 nib 파일의 레이아웃을 자동으로 설정하는 Apple의 옵션입니다. 그러므로 OS보다 낮은 iOS 버전을 지원한다면 충돌이 발생할 수 있습니다.

그래서 에만 iOS 6.0 이상을 지원하는 경우 사용할 수있는 옵션입니다.입니다.

0

당신은로드 할 수있는 다른 XIB의 당신의 의 ViewController합니다. 3.5 인치 당신이 충돌 될 것입니다 경우 응용 프로그램에서 iOS6의 전에 자동 레이아웃 사용하려면

1. Select your xib, first unchecked auto-layout. 
2. Select View object and in its property window, change size property and set it to Retuina 3.5 full screen. 
3. Make changes in your code to load your XIB's for different devices. 
+0

아이 패드 및 iphone 용으로 개발 중입니다. 아이폰 3.5 및 아이폰 4 bcoz 인 경우 이미 코드를 작성했습니다. 내 애플 리케이션에 UITabbar가 별도로 아이폰 화면 크기의 높이를 기반으로 조정해야하지만 autolayout checked.So와 두 xibs 지금 (하나 아이폰과 iPad위한 하나) 가지고 같은 xib을로드해야합니다. 나는 지금 3 xibs를 가지고 간다 (iPad, 아이폰 3.5, 아이폰 4) – Aaradhya

+0

예, 정확히 3 xib의 –

+0

이봐, 나는 작은 의심이있다.만약 내가 '사용 AutoLayout'아이폰 4 인치 디스플레이에 대한 해제 및 새로운 xib을 만들지 않고 같은 xib에 스프링과 스트럿츠를 처리하면? 내가 선택 취소하고 iphone5에서 테스트 작업 및 iphone4 인치에서 그것을 확인하면 같은 작업 나는 모든 스프링과 스트럿 (왼쪽, 오른쪽, 아래, 위) (너비, 높이)을 만들었고 뷰는 중간에서 시작하지 않기 때문에 올바르게 정렬되었습니다. 이제 별도의 xib도 가져 가야합니까? – Aaradhya