Upload
masayuki-nii
View
201
Download
5
Embed Size (px)
Citation preview
Agenda
•何もしなくても使える範囲のコピペ•メニュー項目のコントロール•コピペに必要なクラス•カスタムユーザインタフェース
2
Demo: 何もしなくてもOK
•テキスト系の編集、表示コンポーネントでは、何もしなくてもコピー&ペーストを利用可能になった
3
Demo: メニューのコントロール
•UIResponderに新たなメソッド• - (BOOL)canPerformAction:(SEL)action withSender:(id)sender
• メニュー表示直前に、レスポンダチェーンを通じて、メッセージが送られる
• 応答によってメニュー表示項目の表示や非表示が可能
4
コピペ対応で追加・変更されたクラス
•UIPasteboard• シングルトンで、システムのペーストボードに対応• プロパティ経由でデータの出し入れをする•UIMenuController• コピペ用メニューのクラス• 基本的にシングルトン• 自由に表示できる? とも読めるドキュメント•UIResponder• メソッド拡張• メソッド定義はUIResponderStandardEditActions5
Demo: UIViewはコピペできる?
•UIViewをタップしたら、メニューを出すことができるかどうか?
• どうもできなさそう• できそうなら、指摘してください•UIMenuControllerクラスの説明• updateメソッドでレスポンダーチェーンを通じて問い合わせるかのように書かれているが…
• 実際には canPerformAction:メソッドが呼ばれない• サンプルコードがないのは怪しい!6
カスタムメニュー
•UIMenuControllerはカスタマイズできない• メニュー項目は固定• たとえUIViewのクリックで表示できたとしても、項目は「コピー」など決められたもののみ
•自分で画像を作るしかない• 郵便番号検索は、結果的にそうした• UI的な点をいろいろ考慮しないといけない• 結局、UIViewなどで自分でメニューを作る• タップすれば、ペーストボード処理をする7
郵便番号検索でのコピー
•通常のテキストのコピペと違い、範囲選択はしないようにした→面倒だし不要だから
• しかしながら、ステータスが分かりづらくなった• メニューに「コピー済み」と出るようにした•メニューの画像処理• スクロールしても表示していた方がいい気がした• タップ行の画面位置に応じて、上ないしは下側に表示しないといけない
• 画像をそれぞれ用意•Google Mapへのジャンプを付けた• カスタムメニューなのでしたい放題8
まとめ
•コピペはできるのは待望の機能•カスタマイズが全然できないのはどうよ•ユーザインタフェースがばらつかないためにも、もう少しいろんなコンポーネントを定義して欲しいとは思うものの、たくさんあればいいってもんじゃないよ
• 何となく、「コピペ」というアイデア自体が廃れているんじゃないだろうか?
9