2017-01-31 47 views
0

我有一個類似於Reddit的向上滾動按鈕和輔助觸摸功能的可移動UIAction按鈕。現在我很難找到以下兩種方法之一: 1.首先不要超出範圍或 2.反彈回到類似於輔助觸摸方式的屏幕。如何在超出界限時使UIAction按鈕彈回

下面是我在我的UIPanGesture功能:

@IBAction func dragSettingsButton(_ sender: UIPanGestureRecognizer) { 

    if sender.state == .began || sender.state == .changed { 

     if displayView.frame.contains(sender.location(in: self.view)) { 

      let translation = sender.translation(in: displayView) 
      // note: 'view' is optional and need to be unwrapped 
      sender.view!.center = CGPoint(x: sender.view!.center.x + translation.x, y: sender.view!.center.y + translation.y) 
      sender.setTranslation(CGPoint.zero, in: displayView) 


     } 
     else { 

      print("WOW BRO YOURE OUT OF BOUNDS") 
     } 
    } 

} 

注意事項:我有一個視圖控制器,其中有3次:視圖作爲一個自定義導航欄,以充當自定義分段視圖以及切換分段視圖時顯示不同視圖的顯示視圖。 也有在底部

回答

1

標籤欄反彈:

在sender.state == .END使用相同的邏輯,以確定其是否出界。如果這樣計算應該在哪裏。然後將其動畫到該位置。