Я адаптировал UIPanGestureRecognizer для использования раскрывающегося списка для отклонения зрения. Я сделал это так, поэтому теперь представление можно перетащить по оси y, и если изменение y больше 100, оно отклоняет представление.Настройка UIView для начала с верхнего левого угла (0,0)
override func viewDidLoad() {
super.viewDidLoad()
let myPanGestureRecognizer = UIPanGestureRecognizer(target: self, action: "myPanAction:")
self.player.view.addGestureRecognizer(myPanGestureRecognizer)
}
func myPanAction(recognizer: UIPanGestureRecognizer) {
let translation = recognizer.translationInView(self.view)
if let myView = recognizer.view {
myView.center = CGPoint(x: myView.center.x, y: myView.center.y + translation.y)
}
recognizer.setTranslation(CGPointZero, inView: self.view)
if recognizer.state == UIGestureRecognizerState.Ended {
let velocity = recognizer.velocityInView(self.view)
if velocity.y > 100 {
dismissViewControllerAnimated(true, completion: nil)
} else {
// Reposition Back
}
}
}
Однако, я хочу, чтобы позиционировать взгляд обратно на прежнее место, но я не мог понять, как ..
Кроме того, мой подход хороший способ сделать это, или это очень примитивный подход?
Пытались установить центр вашей точки зрения в исходное положение? При необходимости вы можете иметь ссылку на исходный центр на вашем контроллере. –
Я относительно новичок в Swift, поэтому я не понял, что делать на самом деле:/То, что я пытаюсь достичь, - это начать просмотр (x, y) из (0,0) - верхний левый угол – senty
Not конечно, если он будет работать, но попробуйте: 'let frame = myView.frame' ' frame.origin = CGPointMake (0, 0) ' ' myView.frame = frame' –