1

私のアプリでは、メソッドを使用して垂直レイアウトと水平レイアウトを切り替える機能を持つNSSplitViewを使用しています- (void)setVertical:(BOOL)flag。問題は、ユーザーがレイアウトを変更すると、スプリッターが常に50%/ 50%の位置に戻ることです。

NSSplitViewには、その仕切りの自動保存の可能性がありますが、両方のレイアウトの値は保存されません。

これを処理するための最良の方法は何ですか?サイズ変更とスプリッターの移動ごとにサブビューをNSUserDefaultに保存し、レイアウトが切り替えられたときにそれらを復元しますか?よさそうですか?より良い解決策はありますか?

4

1 に答える 1

2

残念ながら、自動保存はスプリッターの位置では機能しません(理由はわかりません)。私はあなたが提案したことを正確に実行することになりました:NSUserDefaultsにrectsを保存します。

さらに、分割ビューを備えた優れたBWToolkitがあり、分割位置に関しては問題なく機能するはずです。ただし、プラグインは(願わくばまだ)バージョン4のIDEではサポートされていないことに注意してください;-)

于 2011-03-05T08:20:07.523 に答える