2011-03-04 2 views
1

내 앱에서는 - (void)setVertical:(BOOL)flag 방법을 사용하여 세로 및 가로 레이아웃을 전환 할 수있는 NSSplitView를 사용합니다. 문제는 사용자가 레이아웃을 변경하면 스플리터가 항상 50 %/50 %로 위치를 복원한다는 것입니다.NSSplitView는 세로 및 가로 레이아웃간에 전환 할 때 분할 자 위치를 저장하고 복원합니다.

NSSplitView는 분할 자에 대해 자동 저장 기능을 가지고 있지만 두 레이아웃의 값을 저장하지 않습니다.

이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 레이아웃을 전환 할 때 NSUserDefault의 모든 크기 조정 및 스플리터 이동시 하위 뷰 rect를 저장하고 복원 할 수 있습니까? 좋아 보이니? 더 나은 솔루션이 있습니까?

+0

매우 도움이되는 답변을 찾았습니다. http://www.cocoadev.com/index.pl?SavingNSSplitViewPosition –

답변

2

불행히도 자동 저장 기능은 스플리터 위치에서 작동하지 않습니다 (이유는 확실하지 않음). NSUserDefaults에 rect를 저장하는 것과 같이 나는 당신이 제안한 것을 정확하게 끝내었다.

또한 Splitted View와 함께 BWToolkit이 우수하며 분할 위치와 관련하여 정상적으로 작동해야합니다. 그래도 플러그인은 (아직 잘하면) IDE 버전 4에서 지원되지 않습니다 .-)

+0

감사합니다. XCode 4에 대한 팁 ... 바라건대 4를 제거하고 3.2로 바꿨습니다. –

+0

BTW, BWSplitView를 시도했으며 수직 및 수평으로 전환 할 때 스플리터 위치를 재설정합니다. –

관련 문제