2009-07-25 8 views
7

CA 프로그래밍 가이드에서는 제약 조건 레이아웃 관리자에 대해 설명합니다. 그러나 iPhone SDK의 CALayer에는 constraints 속성이나 addConstraint 메소드가 없습니다.iPhone OS에 제약 레이아웃 관리자가 있습니까?

그들은 iPhone OS가 맞춤 레이아웃 관리자를 제공하지 않는다고합니다. 하지만 표준 제품은 어때?

답변

10

유감스럽게도, 문서에도 불구하고 CALayer의 iPhone 구현에서 레이어의 스프링 및 스트럿 레이아웃이 누락되었습니다. 이것은 iPhone의 CALayer에없는 autoresizingMask 속성에서 볼 수 있습니다.

Core Plot의 경우 CALayer의 -layoutSublayers 메소드를 통해 자체적 인 맞춤 레이어 레이아웃을 구현했습니다. CPLayer 클래스는이 접근법의 한 예를 제공합니다.

+0

매우 흥미로운 것들, Brad! – Thanks

1

superview/superlayer를 기준으로보기/레이어를 배치하는 데 사용할 수있는 유일한 방법은 스프링 & 스트럿츠 모델을 사용하는 것입니다. 맞춤 레이아웃 관리자는 iPhone에서 사용할 수 없습니다.

+0

즉, 자동 크기 조정 마스크를 사용하고 있습니까? – Thanks

+0

예 - Core Animation의 경우 CAAutoresizingMask에 정의 된 상수에 따라 마스크를 사용하는 것을 의미합니다. –

+4

설명서는 실제로 이와 관련하여 잘못되었습니다. autoresizingMask는 iPhone의 CALayer에서 속성으로 사용할 수 없으므로 레이어의 스프링 및 스트럿 레이아웃을 수행 할 방법이 없습니다. –

1

스프링 및 Struts 레이아웃 지원은 UIView의 autoresizingMask 속성을 통해 사용할 수 있습니다.