前提・実現したいこと
前提
書籍「詳細!Swift iPhoneアプリ開発入門ノート: iOS 12+Xcode 10対応」を読みながら学んでいる初学者です。P442でビューをドラッグする という節を学んでいます。
Pan Gesture Recognizerを使ってドラッグの操作を読み取り、操作に合わせてビューを追従させると言う処理を行いたいです。
①Image Viewで画像を設置し、その画像のイメージビューにPan Gesture Recognizerをドロップ。
②Pan Gesture RecognizerをAction接続、
③アクション接続したコードの中に画像をドラッグするコードを記述
書籍には「tomobo」と書かれていましたがサンプルの画像はtomboだったため、tomboで記述しています。
実現したいこと
画像をドラッグして動かしたい。
発生している問題・エラーメッセージ
書籍の通りに記述していますが、どうしてもシミュレータで画像が動きません。
画像は表示されるのですが、ドラッグしようにも反応しないといった感じです。
該当のソースコード
swift
1import UIKit 2 3class ViewController: UIViewController { 4 5 @IBAction func dragging(_ sender: UIPanGestureRecognizer) { 6 //トンボをドラッグするコードを書く 7 let tombo = sender.view! 8 //指の座標に合わせる 9 tombo.center = sender.location(in: self.view) 10 } 11 12 override func viewDidLoad() { 13 super.viewDidLoad() 14 // Do any additional setup after loading the view. 15 } 16}
試したこと
書籍のサンプルコードを起動してみたところ、画像がきちんと動きました。
なのでコードをコピーしてActionを再接続してシミュレータ を再度起動してみました。
しかし、動きませんでした。
そこで私が記述したコードをサンプルプロジェクトにコピペしてアクション接続を再接続しなおしてシミュレータで実行してみました。するとサンプルプロジェクトではちゃんと動きます。
なので、コードの記述自体が間違っているわけではなさそうなので、別に原因がありそうです。
何卒よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
マシンの環境
macOS Catalina Version 10.15.3
Xcode Version 11.4
Swift version 5.1.3
書籍のバージョン
Xcode Version 10
Swift version 4.2
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/03 09:10
2020/06/03 09:12