2016-10-15 5 views
0

NSSplitViewController에서 상속 받고 splitViewDidResizeSubviews 함수를 재정의하는 클래스가 있습니다.NSSplitViewItem 접기가 splitViewDidResizeSubviews를 호출하지 않습니다.

은 내가 NSSplitViewController 내부 NSSplitViewItem에 붕괴를 호출 할 때와 나는 NSSplitViewItem이 눈에 띄게 splitViewDidResizeSubviews 함수가 호출되지 않는 크기를 참조하십시오.

윈도우 크기를 조정하면 splitViewDidResizeSubviews 함수가 호출되므로 올바르게 구현되었음을 알 수 있습니다.

붕괴시에 splitViewDidResizeSubviews 함수를 호출 할 수 있습니까? 그렇다면 무엇이 잘못 되었나요?

답변

1

splitViewItem 축소는 실제 프레임 크기의 크기를 조정하지 않고 항목의 가시성을 토글하기 때문에 발생합니다. isCollapsed 상태를 토글하는 경우 splitViewItem에 프레임 크기가 저장됩니다.

는 (. 항목 즉 바깥쪽으로 splitViewItem.collapseBehavior = .preferResizingSplitViewWithFixedSiblings 확장 때 예외는 내가 테스트로서, 그것은 splitViewDidResizeSubviews 호출합니다..) 이러한 사용에 대한 그래서

내가 예를 들어 NSSplitViewController의 다른 방법 오버라이드 (override)하는 것을 선호 :

func splitView(_ splitView: NSSplitView, shouldCollapseSubview subview: NSView, forDoubleClickOnDividerAt dividerIndex: Int 
+0

을 불행히도'shouldCollapseSubview'는 내가 NSSplitViewController'에있는 다른 메소드들 중 어느 것을 통보 받았을 때를위한 나의 요구 사항을 만족시키지 않습니다. 그래서 나는 붕괴를 불러오고 확장하고 트랜잭션을 포함하는 버튼에 더 많은 로직을 추가했습니다. 애니메이터가 끝났습니다. – zode64