2014-04-29 7 views
1

저는 OSX쪽에 뛰어 드는 중급 iOS 개발자입니다.OSX 용 Cocoa에서 아코디언과 유사한 폴더가 있습니까?

나는 한 번에 하나의보기 만 전체 부모보기의 사용 가능한 공간을 차지하도록 펼쳐질 수있는 여러보기의 아코디언과 같은 표시를 만드는 데 어려움을 겪고 있습니다. 즉,보기 제목 표시 줄을 클릭하면이보기가 열리고 펼쳐지고 현재 열려있는보기가 닫히고 펼쳐집니다 (애니메이션은 모두 표시되지 않음). 오, 끝내려면 뷰의 내용을 스크롤 할 수 있어야합니다.

나는 애플의 NSStackView 샘플 코드에서 시작하려고했지만, 내가 원하는 것을 처음에는 시도하지 않았다. 그리고 무엇보다, 결국 내가 궁극적으로 원하는 곳에서 시작하는 방법을 생각할 수 없다.

그런 다음 자동 레이아웃 기능을 마스터하려고했지만 성공하지 못했습니다. 진실은 말해,이 전체 자동 배치 것은 아직도 나에게 약간을 혼란스럽게한다.

진행 방법에 대한 단서가 있습니까? 샘플 코드? 자습서 (나는 여러 가지 Auto-Layout 튜토리얼을 시도했지만, 하루가 끝날 때까지는 여전히 그들이 내가 알아야 할 트릭을 놓쳤다.).

감사합니다.

/줄리안

답변

1

체크 아웃 샘플 코드 : InfoBarStackView. 아코디언과 같은 인터페이스를 만듭니다. 설명하는 것과 다른 점은 여러보기를 동시에 표시 할 수 있다는 것입니다 (단순한 차이 임에도 불구하고).

NSStackView 및 autolayout 제약 조건을 사용하여 인터페이스를 만들고 공개/숨기기 애니메이션을 구동합니다.

스택 뷰를 내용을 스크롤 할 수 있도록 NSScrollView에 넣을 수도 있습니다. (비슷한 것은 WWDC 2013 Cocoa Animation 대화 중에 수행되었습니다.)

+0

감사합니다. 필자가 작성한 것처럼 이미이 샘플 코드를 확인했는데 원하는 코드가 아닙니다. 아니면 필자 자신의 요구 사항에 맞게 수정하는 방법을 모르겠습니다. InfoBarStackView 예제에서 서랍의 크기는 내부 뷰의 크기로 고정됩니다. 어떤 의미에서 내가하고 싶은 것은 다른 방법입니다. 포함 된 뷰의 크기를 조절할 수있는 부모의 크기로 조정합니다. 그것에 대해 생각해 보면, 아마도이 자동 레이아웃이이 특별한 경우에 설정되어야하는 방식을 취하지 않기 때문에 자동 레이아웃이 여기에서 가장 격렬한 적입니다. –

+0

자동 레이아웃 제약 조건과 기존 제약 조건의 우선 순위를 변경하여 원하는 제약 조건으로 수정할 수 있습니다. 예를 들어, 샘플에서 각 컨텐츠 영역은 특정 컨텐츠 높이 (모든 높이를 허용하도록 수정하려는 경우)를 요구하는 제한 조건을 갖습니다. 스택 뷰 자체의 수직 포옹 우선 순위뿐만 아니라, 현재 DefaultHigh이기 때문에 스택 뷰가 창에 따라 축소됩니다. 그렇게하지 않으면 DefaultLow가됩니다. 이 두 가지 변경 사항만으로도 귀하의 요구 사항에 이미 가깝습니다. – Taylor

+0

나는 아직 거기에 없지만 당신의 요점을 얻었고 나는 더 이상 그다지 멀지 않습니다. 좋은 대답. 감사! –