2016-09-02 6 views
0

NSStackView 정기적 NSView, 즉 clippingResistancePriorityhuggingPriority. 문서는 그들이 무엇 그들이있어 무엇 다소 합리적인 설명을 제공합니다에 비해 2 개 부가 우선 순위를 가지고있다.NSStackView 및 콘텐츠 포옹 우선 순위

그러나 4 개의 우선 순위는 조금 지나치게 과장됩니다.

스택보기에는 고유 콘텐츠 크기가 없으며 구성 내용 압축 저항을하지 않습니다

지금에이 문서들이 언급했다. 스택보기에서 setContentCompressionResistancePriority:forOrientation: 메서드를 호출해도 아무 효과가 없습니다.

그러나 그림자에는 contentHuggingPriority이 남습니다. NSStackView처럼 보이지 않는 것 같습니다. 적어도 그렇게 할 수는 없었습니다.

누구든지 확인하거나 반증 할 수 있습니까?

답변

1

네, 맞습니다. NSView의에서 상속 된 내용 구속 우선 순위 :

- (NSLayoutPriority)contentHuggingPriorityForOrientation:(NSLayoutConstraintOrientation)orientation NS_AVAILABLE_MAC(10_7); - (NSLayoutPriority)contentCompressionResistancePriorityForOrientation:(NSLayoutConstraintOrientation)orientation NS_AVAILABLE_MAC(10_7);

은보기 만의 intrinsicContentSize이 NSStackView이하지 않는 기반으로 만든 제약에 적용됩니다. 당신과 문서에 언급 된 것처럼, 그들은 아무런 효과가 없습니다. (NSStackView를 하위 클래스로 지정하지 않고 intrinsicContentSize을 재정 의하여 값을 제공하지 않는 한 ...)

+0

감사합니다. 이봐 요, 우리가 그것에있는 동안, 아마도 NSStackView에 대해 다른 점을 분명히하는 데 도움이 될 수 있을까요? "NSLayoutPriorityRequired'의 기본값보다 낮은 클리핑 저항을 설정하고 모든 스택 뷰의 가시성 우선 순위를 'NSStackViewVisibilityPriorityMustHold'로 설정하십시오. 이것은 전혀 사실이 아닙니다. 나를 위해 스택 뷰는 클리핑 저항이 <500 인 경우에만 하위 뷰를 클리핑하고 숨기기 시작합니다. 어쩌면 당신은 이런 것들에 대해 어떤 통찰력을 가지고있을 것인가? (wwdc와 별도로) 그들이 명확히 할 수 있는가? –

+0

클리핑 저항 우선 순위는 창의 제약 조건의 나머지 우선 순위에 영향을 미칩니다. 따라서 필요한 모든 작업을 수행하는 것이 사실이라는 것은 옳지 않습니다. <필요한 사항이지만, 클립 할 수있게되고 스택보기가 상호 작용하는 다른 제약 조건의 우선 순위에 따라 달라질 때가 있습니다. 500 #은 DragThatCanResizeWindow 우선 순위가 510이고 WindowSizeStayPut이 500이기 때문에 스택보기가 창의 크기에 맞게 크기가 조정되는 것처럼 들립니다. – Taylor

+0

자동 레이아웃 가이드는 우선 순위 (MacOS 특정 사항은 아님)로 표시됩니다. https : //developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/AnatomyofaConstraint.html#//apple_ref/doc/uid/TP40010853-CH9-SW19. 다양한 NSLayoutPriority 상수에는 해당 값과 의미 론적 의미를 설명하는 헤더 주석이 있습니다. – Taylor