我可以通过这个简单的代码
检测UIView中按下的按钮func handlePan(recognizer:UIPanGestureRecognizer) {
if let buttonRecognize = recognizer.view as? UIButton {
let subviews = self.view.subviews as [UIView]
for v in subviews {
if let button = v as? UIButton {
if button.tag != -1 {
var p = button.superview?.convertPoint(button.center, toView: view)
println(p)
}
UIView.animateWithDuration(Double(slideFactor * 2),
delay: 0,
options: UIViewAnimationOptions.CurveEaseOut,
animations: {recognizer.view!.center = finalPoint },
completion: nil)
}}}}
}
可以在UIView中检测按钮的位置吗?
for(0,0)Uiview =(367.666656494141,207.33332824707)for func handlePan
我想找到按钮的值,而不是UIView的中心是UIView本身的值,而不是func handlePan的值,其中心是左上角!!
P.S。我试图在
后移动let子视图等completion: nil
但结果不会改变!!
答案 0 :(得分:1)
您可以使用
将点坐标系转换为指定视图的坐标系convertPoint(_ point:CGPoint,toView view:UIView?)
toView是要转换的坐标系。