2017-01-31 6 views
0

У меня есть передвижная кнопка UIAction, аналогичная кнопке прокрутки Reddit и функции Assistive Touch. Прямо сейчас мне сложно найти способ: 1. Не выходите за пределы в первую очередь или 2. Откажитесь назад на экран, похожий на тот способ, которым помогает Assistive Touch.Как сделать кнопку UIAction Bounce Back, когда из-за границ

Вот что у меня в 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") 
     } 
    } 

} 

вещи, чтобы отметить: у меня есть ViewController, где есть 3 вид: Вид действовать в качестве пользовательской панели навигации, вид действовать как пользовательский сегментированный вид и вид отображения для отображения разных видов при переключении сегментированного представления. Существует также панель вкладок в нижней

ответ

1

Чтобы оправиться:

На sender.state == .END использовать ту же логику, чтобы определить, является ли его за пределы. Если да, подсчитайте, где это должно быть. Затем оставьте его в этом месте.

Смежные вопросы