2013-03-23 4 views
3

NSSplitView에는 4 개의 하위 뷰가 있습니다. 각 하위보기에는 텍스트가있는 머리글과 켜기/끄기 확인란이 있으며 그 아래에는 NSTableView이 있습니다. 사용자는 확인란을 사용하여 표의 가시성을 전환 할 수 있습니다.서브 뷰가 변경 될 때 NSSplitView의 분할 자 위치가 변경됩니다.

프로그램 시작시 테이블을 볼 수 있고 사용자가이 확인란의 선택을 취소하면 테이블이 사라집니다. 따라서 하위 뷰가 훨씬 더 작아집니다.

NSSplitView을 (디바이더 조정을 통해) 어떻게 대응합니까?

답변

7

프로그래밍 방식으로 나누기 위치를 설정하려면 NSSplitView에서 -setPosition:ofDividerAtIndex:을 호출하십시오.

+0

그 중 하나는 알았지 만 아마도 내 질문에는 설명이 필요합니다. 디바이더를 움직이는 것 외에도 서브 뷰의 범위를 변경하고 싶습니다. 그래서 : 사용자는 테이블 축소를 만듭니다. ** subview의 범위가 이에 따라 변경됩니다. ** -> nssplitview는 분할자를 재배포하라는 통지를받습니다. 나는 그 내용이 줄어들 때 (i.c., 테이블이 사라질 때) subview 변경 크기를 적절하게 만드는 방법을 이해할 수 없다. – markjs

+0

하위 뷰에서'-setBounds :'를 호출하려 했습니까? 이 방법을 사용하여 원하는 크기로 설정할 수 있습니다. '-setNeedsUpdateConstraints :'를 사용하여 autolayout을 얻을 수도 있지만 하위 뷰에서 테이블을 제거해야합니다. 뷰가 숨겨져 있어도 제약 조건은 계속 적용됩니다. – jatoben

관련 문제