iOS

Swift4:Swipe

Swipeを実装しました。無償版からwordpress.comプレミアムに変更しました。

長押しをどうするかまだ決めていませんが、Swipeは実装しました。

課題は、iPhoneの場合、Swipeできる箇所、簡単にSwipeができる場所が決まっているようです。ある記事では、適用領域が狭いという指摘がありました。

しかし、使えなくはないので、実装したままで行きたいと考えています。

Swipe sample: .right / .left / .down
let wRightSwipe = UISwipeGestureRecognizer(target:self,     //
action:#selector(ExecForward(sender:)))                     //右 次のページwRightSwipe.numberOfTouchesRequired = 1                     //
wRightSwipe.direction   = .right                            //
let wLeftSwipe  = UISwipeGestureRecognizer(target:self,     //
action:#selector(ExecBackward(sender:)))                    //左 前のページ
wLeftSwipe.numberOfTouchesRequired = 1                      //
wLeftSwipe.direction    = .left                             //
let wDownSwipe  = UISwipeGestureRecognizer(target:self,     //
action:#selector(ExecBackward(sender:)))                    //下 前のページ
wDownSwipe.numberOfTouchesRequired = 1                      //
wDownSwipe.direction    = .down                             //
self.view.addGestureRecognizer(wRightSwipe)                 //登録する。
self.view.addGestureRecognizer(wLeftSwipe)                  //登録する。
self.view.addGestureRecognizer(wDownSwipe)                  //登録する。

@IBAction func ExecForward(sender:UISwipeGestureRecognizer) {   //<*次のページに*>
ExecIBActionForward(self)                                       //
}//————————————————————-//
@IBAction func ExecBackward(sender:UISwipeGestureRecognizer) {  //<*前のページに*>
ExecIBActionBackward(self)                                      //
}//————————————————————-//
@IBAction func ExecReload(sender:UISwipeGestureRecognizer) {    //<*前のページに*>
ExecIBActionBackward(self)                                      //
//  ExecIBActionReload(self)                                    //
}//————————————————————-//

この事例では、swipeできる領域はtoolbarの中に限られます。いろいろ試してみたのですが、self.viewではそうなるようです。なお、numberOfTouchesRequiredのデフォルトは1で定義してもしなくても問題ないですが、明示的に定義した方がわかりやすいと思います。

Screenshot 2018-03-03 23.30.48

 

Categories: iOS, Swift, 技術