validateUserInterfaceItem(2)

前回の続き。サンプルアプリを作った。

MTLButtonがToolbarItemやMenuItemのように、UIのenable/disableを自動で行うのを確認出来る。

AppDelegateのvalidateUserInterfaceItemで順繰りに特定のactionを持つToolbarItemやMenuItemをenable/disableを行っている。

MTLButtonではWindowがアップデートされるタイミングで、このvalidateUserInterfaceItemを呼出して自分自身のenable/disableを変更している。

Action1のselectorを持つUIがenableになっている。NSButtonはvalidateUserInterfaceItemに対応していないので、全てenableになっている。しかし、MTLButton, ToolbarItem, MenuItemはAction1しかenableになっていない。

../../../_images/ss01.tiff

action2をenableにした場合。

../../../_images/ss02.tiff

action3をenableにした場合。

../../../_images/ss03.tiff

サンプルコードは、

EnablerTest.zip