我想在 swift 3 中将一个 View 拖到其他 View 中。我搜索了很多方法,但它们都是在 Objective-C 中。
任何有关 swift 的帮助都将不胜感激。
谢谢
最佳答案
您可以通过使用以下方法简单地实现相同的目的:
@IBAction func handlePan(_ recognizer: UIPanGestureRecognizer) {
let translation: CGPoint = recognizer.translation(in: view)
let recognizerFrame: CGRect? = recognizer.view?.frame
recognizerFrame?.origin.x += translation.x
recognizerFrame?.origin.y += translation.y
if view.bounds.contains(recognizerFrame) {
recognizer.view?.frame = recognizerFrame
}
else {
// Check vertically
if recognizerFrame?.origin.y < view.bounds.origin.y {
recognizerFrame?.origin.y = nil
}
else if recognizerFrame?.origin.y + recognizerFrame?.size.height > view.bounds.size.height {
recognizerFrame?.origin.y = view.bounds.size.height - recognizerFrame?.size.height
}
if recognizerFrame?.origin.x < view.bounds.origin.x {
recognizerFrame?.origin.x = nil
}
else if recognizerFrame?.origin.x + recognizerFrame?.size.width > view.bounds.size.width {
recognizerFrame?.origin.x = view.bounds.size.width - recognizerFrame?.size.width
}
recognizer.setTranslation(CGPoint(x: 0, y: 0), in: view)
}
关于ios - 如何在 swift 3 中将 View 拖动到其他 View 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48377575/