26章アンドゥ
直近の操作を取り消す機能(アンドゥ機能)はOS Xでお馴染みです。これは、誤まった操作をしても気づくのが十分に早ければ、その操作分を元に戻すことができるというものです。Macのアプリは、通常、取り消し可能な操作(アクション)を積む内部スタックを維持管理しています。[編集]→[取り消し]と選択するか、Command-Zを押すと、スタックのいちばん上のアクションの結果が元に戻されて、さらにそのアクションが[やり直し]で実行できるようになります。
アンドゥ機能を広い範囲にいきわたるように実装することは、OS Xにおいては、とりわけ実世界の物に関係する場合に有効です。たとえば、ウィンドウで、実際のドキュメント、すなわちディスク上のファイルを表すことがあります。タイプ入力したり、貼り付け、切り取りでドキュメントに加えた変更が1語1語、そのまま元には戻せないとしたら大変です。しかし、iOSの場合、ユーザーインタフェースの表示やごく短時間の使用という性質と、通常iOSアプリが扱うようなものから考えて、ユーザーもいつでもアンドゥ機能が使えるものとは思いません。
そうであっても、iOSアプリにも、少なくともこうした機能の限定的なものがあるとよい場合があります。すべての操作がアンドゥ可能である必要はなく、アンドゥできる状態が非常に長く続く必要もありません。限定的なアンドゥ機能を実装するのは難しくありません。システムに用意されているビューの中には、特にテキスト入力に関わるもので、UITextFieldとUITextView(10章)など、もともとアンドゥ機能を実装しているものがあります。そして、アプリのその他の部分にこの機能を追加することもできるのです。
26.1 アンドゥマネージャ ...
Get 詳解 iOS SDK 第4版 ―ワンランク上のiPhone/iPadプログラミング now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.