Swiftで遊ぼう! - 687 - Interface Builder, FaceView controller, Gestures, Multiple MVCs 7
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- Swift2.1 & Xcode7.1対応の日本語版アップルチュートリアル!
- Table View実装チュートリアルをXcode7.3で解説
- Core Data シンプルチュートリアル
- 私の本業、オフィシャルなブログ-> Life-LOG
やっと講義5の最後のストーリーボードでジェスチャーの実装法です。
Developing iOS 9 Apps with Swift - Free Course by Stanford on iTunes U
私はstoryboardを使ったジェスチャーの実装が好きです。コードをできるだけ書きたくないし、コードが見やすくなるなるからです。faceViewのプロパティ・オブザーバーを使って実装するのがスマートに見えないからです。
Tapジェスチャーの実装
Main.storyboardのオブジェクト・ライブラリから「Tap Gesture Recognizer」を選択して、FaceViewに「ドラッグ&ドロップ」します。
するとScene Dockの上部に「Tap Gesture Recognizer」が出現するので、FaceViewControllerに「Ctrl + ドラッグ」して、@IBActionメソッドを作ります。
@IBActionを作る時に重要なのは、必ず「AnyObject」を「UITapGestureRecognizer」に変更することです。
@IBAction func toggleEyes(recognizer: UITapGestureRecognizer) { if recognizer.state == .Ended { switch expression.eyes { case .Open: expression.eyes = .Closed case .Closed: expression.eyes = .Open case .Squinting: break } } }
そして、できたメソッドのパラメーター名が「sender」になっているので、これを「recognizer」に変更します。リーダブルコーディングというスタンスから変更しなければなりません。
コードの内容に解説は要りませんよね。
これで講義5が終了です。