[Xcode 8.1] サンプルコードからTouchBarのAPIを理解する#3 NSTouchBar CatalogのSegmented ControlとGroupの構造
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
本記事の目標: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は中にタッチバーを持つことができるので、タッチバーの再利用がしやすくなりそうですね。









