如何将可拖动对象放置在目标对象的中心
Posted
技术标签:
【中文标题】如何将可拖动对象放置在目标对象的中心【英文标题】:How to place draggable object in a center of a target object 【发布时间】:2016-11-07 08:59:14 【问题描述】:我有一个UIView
是目标,还有一个UIImage
是可拖动对象。任务是将UIImage
放在UIView
中(如果它正在触摸它)。
这是我的代码:
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?)
if let touch = touches.first, let target = dropTarget
let position = touch.location(in: self.superview)
let isOnTarget = target.frame.contains(position)
if isOnTarget
NotificationCenter.default.post(Notification(name: Notification.Name(rawValue:"onTarget")))
// Make it stay there
let targetHeight = target.frame.size.height
let targetWidth = target.frame.size.width
self.center = CGPoint(x: targetHeight, y: targetWidth)
else
self.center = originalPosition
此代码的问题是UIImage
附加在左下角UIView
之外,它应该在它的中心。
如果它接触到目标,我怎样才能让它保持在目标的中间?
【问题讨论】:
如果 UIView 和 UIImageView 有共同的父视图:self.center = target.center 就是这样!谢谢! 【参考方案1】:试试:
self.center = CGPoint(x: targetHeight/2, y: targetWidth/2)
【讨论】:
我在第一次尝试时尝试过,但它不起作用。我把图像移到 UIView 之外。以上是关于如何将可拖动对象放置在目标对象的中心的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 jQuery 将可拖动项目居中放置在可放置的图像地图区域上?