• Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
  • Swift2.1 & Xcode7.1対応の日本語版アップルチュートリアル!
  • Table View実装チュートリアルをXcode7.3で解説
  • Core Data シンプルチュートリアル
  • 私の本業、オフィシャルなブログ-> Life-LOG

次のTable Viewのチュートリアルを拡張しています。

yataiblue.hatenablog.com

ロングプレス・ジャスチャーの最も重要なメソッドの実装をしています。

func longPressed(longPress: UILongPressGestureRecognizer) {
   print("This methods just called.")
   let state = longPress.state
...

このジェスチャーが持っている「state」プロパティはジェスチャーの状態が変化(ユーザーが操作)する度に変化するし、このメソッドが呼ばれます。ということは呼ばれる度にstateプロパティが変化したり同じだったりする訳です。

次はロングプレス・ジェスチャーはTableViewに組み込まれていますが、その中の座標情報を習得するステップです。

let locationInView = longPress.locationInView(simpleTableView)
let indexPath = simpleTableView.indexPathForRowAtPoint(locationInView)

iOSフレームワークには色々と便利なメソッドが用意されています。知らないことばかりなんでチュートリアルで遭遇するメソッドは勉強のために確認することをお勧めします。

locationInView(view: UIView>) -> CGPoint

このメソッドはジェスチャーを組み込んだView内の座標をCGPointで返します。メソッドの情報を知るためにXcodeが持っているドキュメントシステムを使います。普通なら「Help」メニューから「Documentation and API Reference」を選択するのですが、ちょっと調べたいときに手間がかかります。調べたいメソッドのところにマウスポインタを動かして「Opt*1 + クリック」をすると簡単に情報が得られます。

f:id:yataiblue:20160421113606j:plain

indexPathForRowAtPoint(point: CGPoint) -> NSIndexPath?

UITableViewクラスが持っているメソッドです。CGPointで座標を与えることでNSIndexPathを返します。このメソッドの情報も同様に「Opt + ドラッグ」で確認することができます。

f:id:yataiblue:20160421140708j:plain

まだまだiOSフレームワークに関して知らないところばかりです。理解して使えるようになるのにもう少し時間が必要です。

今日はここまで。

*1:オプションキーを押すとポインタが「?」に変化します。