2013年04月14日

Interface Builder上の深い階層のViewに直接アクセスする方法

今はXcodeに統合されているが、xib(nib)ファイルの編集をする時に使うエディタを今後も独立したアプリケーション時代同様にInterface Builderと呼びたい。

ちょっと複雑な画面の編集をしているとViewの上に別のViewを重ねて、さらにその上にViewを重ねることがある。特に、NSTableViewなんかはそれだけであってもNSScrollViewの下にNSTableView、NSTableColumn、NSTableCellなどと階層的になっているのでひとつ貼るだけで多重階層が簡単にできあがる。

この中の特定のViewの属性を変更したい場合に、選択するのが結構大変。最初にクリックすると一番外側のビューが選択され、そこでダブルクリックするとその内側のビューが選択される。そこでダブルクリックしてさらに内側と階層を降りて行って目的のビューを選択するのだが、うっかりクリックしすぎて目的のビューを通り越してしまうことがある。

そんなときには後戻りできないから、一旦全部の選択を解除してもう一度最初からやり直し。

これは非常に効率が悪い。

そこでやるのが、IBの左のドキュメントアウトライン表示。コントローラなどのオブジェクトやビューなどのオブジェクトを階層表示させることができる。これを使えば目的のビューを一発で選択できる。
ViewHierarchy2.png

でも、これを常時表示させるのは画面サイズが広くないといけないし、アウトラインの階層を開いていくのに時間がかかる。確かに選択間違いでやり直しはないけど。


目的のビューの上で「コントロール+シフト+クリック」すること。そうするとビューの階層をポップアップメニューの様に表示してくれるので一気にポインタの指すその位置にある好きなビューを指定することが可能。
ViewHierarchy1.png

この方法は随分昔からあるけど、Xcodeに統合されたときになくなったんじゃないかと心配だったけど、現在(Xcode 4.6.1)でもちゃんと使える。もちろんiOSアプリの場合でも同様。
ラベル:Xcode tips
posted by 永遠製作所 at 15:34| 東京 ☀| Comment(0) | TrackBack(0) | Cocoa | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック