[Xcode 8.1] サンプルコードからTouchBarのAPIを理解する#3 NSTouchBar CatalogのSegmented ControlとGroupの構造
本記事の目標:Segmented ControlとGroupのサンプルを理解する
こんにちは!モバイルアプリサービス部の加藤潤です。
前回に引き続きNSTouchBar Catalogを理解していきます。
今回はサンプルアプリの左側に表示されるメニューの内、 Segmented Control
とGroup
がどういう構造で成り立っているかを見ていきます。
実行結果
まず先にアプリとタッチバーの実行結果をご覧ください。
Segmented Control
タッチバー内にSegmented Controlが2つ配置されていて、当然のことながら選択することができます。
Group
Groupの方はボタンがタッチバー内にボタンが3つ並んでいます。
Storyboardの構造
それぞれのStoryboardの構造を見てみましょう。
SegmentedControlViewController.storyboard
SegmentedControlViewController.storyboard
の中を見ると、NSTouchBar
の中にNSTouchBarItem
が2つあり、各NSTouchBarItem
の下にNSViewController
がぶら下がっています。そしてそのNSViewController
が管理するView
としてNSSegmentedControl
が存在しています。
また、Object libraryを「segmented」で検索すると、Touch Bar Segmented Control
というコントロールが出てきます。
タッチバー内にSegmented Controlを配置したい場合はこのコントロールを使えば良さそうです。
GroupViewController.storyboard
GroupViewController.storyboard
の中を見ると、NSTouchBar
の中にNSGroupTouchBarItem
があり、その下にさらにNSTouchBar
があります。
そのNSTouchBar
の中にNSTouchBarItem
が3つあり、それぞれの中にNSViewController
及びNSButton
がぶら下がる形になっています。
NSGroupTouchBarItem
はその中にタッチバーを置くことができるコンテナーとしての動きをします。
まとめ
今回はSegmented Control
とGroup
について、その構造を見ていきました。
特にNSGroupTouchBarItem
は中にタッチバーを持つことができるので、タッチバーの再利用がしやすくなりそうですね。