2017-04-24 4 views
0

私は2つの子ビューを持つビューを持っていて、2番目のビューを省略したり、データバインディングを含めて無効にしたり、最初のビューのサイズを変更したりします。私はいくつかのヒントやこれを達成するための(擬似)コードが必要です。あらかじめThx。オプションの子ビューを実行するにはどうすればよいですか?

+0

ようこそスタックオーバーフロー!ツアーを行い、見て回り、[ヘルプセンター](https://stackoverflow.com/help)、特に[質問方法](https://stackoverflow.com/help)を読んでください。/how-to-ask)と[このサイトでは、最小、完全、および検証可能な例を作成する方法](https://stackoverflow.com/help/mcve)を参照してください。問題を解決するために努力してください。そうした特定の問題にぶつかった場合は、あなたの試み(関連するすべてのコードを含む)に質問を掲示し、何がうまくいかないと言って、これまでのところあなたの研究を説明してください。 – Teocci

答えて

0

SproutCoreには、何らかの形でこれを行うビューがかなりあります。最良の例ではありませんが、the experimental select search viewをご覧ください。

バインディングを手動で設定するには、createChildViewsをオーバーライドする必要があります。そのため、必要に応じてバインドを取り消すこともできます。

+0

ありがとうございますが、私は画像を取得していません。私のchildViewsは、多くのデータを含み、垂直に積み重ねられており、どちらも時間のかかるクエリがあります。ユーザーの選択に応じて、2番目のビューを無効/削除します。私はautoresize、flowedlayout、invisibleBinding、isEnabledなどを見てきましたが、2番目のビューが有効になっていないと、それはもう見えませんが、得られた "スペース"は塗りつぶされません。 – fpk

+0

別の方法として、クラスを表示するようにビルドする方法があります。ここでは、2つ目のビューがあり、もう1つは表示されません。たとえば、ユーザーのデフォルトを使用して保存するなど、ユーザーの設定に基づいて、使用するビュークラスを決定することができます。http://docs.sproutcore.com/#doc=SC.UserDefaults&src=false この方法では、 'tスイッチ。実際に切り替わらない場合は、バインディングがビューインスタンスの作成時にのみアクティブになるため、バインディングを2倍にするという問題は発生しません。アドバイスのために – mauritslamers

+0

Thx。私は.adjustレイアウトオプションを適用することを考えていましたが、2つのビュー(2つ目のビューなしで1つ)を作成することもオプションです。とにかく、ユーザーには既に環境設定パネルがあり、これは追加のオプションになります。コードリクエストに関しては、とにかく感謝します。 – fpk

関連する問題