見出し画像

Viewをドラッグしたり回転したり、拡大/縮小したりするには実は難しい


今日やったこと

2019/10/6 

・画像をドラッグできるようにしたり、拡大/縮小したり、回転したりできるようにした

・ブログを書いた


ドラッグの実装方法

ドラッグの実装にはとても苦しんだ。

Viewをドラッグや、拡大するためのジェスチャーの実装をたくさん読んだりしたが結果的にライブラリを使えばいっぱつ解決してしまった。

調べた記事はこれ

結果的に使ったライブラリはこちら

ジェスチャーの書き方がとても完結にかける素晴らしいライブラリだった。

こんな感じ

private func setupGesture() {
       
       // 移動
       onPan { pan in
           let move = pan.translation(in: self)
           self.transform = self.transform.translatedBy(x: move.x, y: move.y)
           pan.setTranslation(CGPoint.zero, in: self)
       }
       
       // 拡大/縮小
       onPinch { pinch in
           self.transform = self.transform.scaledBy(x: pinch.scale, y: pinch.scale)
           pinch.scale = 1
       }
       
       // 回転
       onRotate { rotate in
           self.transform = self.transform.rotated(by: rotate.rotation)
           rotate.rotation = 0
       }
   }

このコードだけで「ドラッグ」「回転」「拡大/縮小」できるのはやっぱすごい😭(もっとはやく見つけたかった)

明日からはテキストの入力処理をメインで書いていくつもり。とりあえず写真アプリを作っていくぞ!!


ここから先は

14字
月数本、サービス開発物語をお届けしています◎月2本以上読む場合は、月額でのマガジン購読がお得です!

shogo.yamadaサービス開発研究所

¥498 / 月 初月無料

shogo.yamadaがサービス開発についていろいろな考えや、アイデア、サービスを開発を継続させるための仕組み化の話をします。 現在SN…

投げ銭はいりません。それより無料でできる拡散をしてください!! 感想をツイートしていただけることが一番嬉しいです!!