OscillatorViewとLissajousViewを包み込む

二つのOscillatorViewとLissajousViewを選択して、LayoutメニューからEmbed Objects In Custom Viewを実行します。
できたカスタムビューのクラスをEnclosureViewにします。

するとウィンドウはこんな感じになります。
内部の三つのサブビューはいい加減に配置してありますが、awakeFromNibで再配置してくれるので問題ありません。
肝心なのはAutoSizingの設定です。ウィンドウにあわせて伸び縮みする設定にします。
EnclosureViewのサイズに合わせてサブビューを再配置するわけですから、これが固定サイズになっていては意味がありません。
アウトレットの接続も忘れずに済ませておきます。
xOscillatorView, yOscillatorViewというのはInterface Builder上で各ビューにつけた名前です。
動作確認
予定通り、無事動きました。リサイズ中も滑らかに動き、縦横のセンタリングもできています。
テーブルビューの横スクロールバーはいらない事に気づいたので外しました。
旧バージョンではこのリサイズはコントローラオブジェクトが実行していたのですが、今考えるとスーパービューが実行した方が自然な気がします。

後リサイズについて来れないのはウィンドウ下部の発振器のパラメータを決めるビューだけです。これは二組ありますが、発振器を選択できる様にして一組に減らしてしまいましょう。今は発振器が二つしかありませんが、将来は6個に増える予定なので切替式にするのは必須です。

ホーム
前へ