如何在滑动手势识别器函数中找到 UIButton 元素的父元素以构造对象?
Posted
技术标签:
【中文标题】如何在滑动手势识别器函数中找到 UIButton 元素的父元素以构造对象?【英文标题】:How to find parent of a UIButton element in a swipe Gesture Recognizer function to construct an Object? 【发布时间】:2018-07-16 17:27:16 【问题描述】:我创建了一个通过拖动按钮触发的“向左滑动”功能。我需要创建一个抽象类,这样我就可以让它向左滑动到触发“滑动到函数”的按钮的任何父元素。
现在链接到作为该元素的父级的 UIView。我尝试使用sender.superview
,但它不起作用。
@IBAction func swipeRightIncome(_ sender: Any)
_ = UIViewPropertyAnimator(duration: 0.30, curve: .easeInOut)
self.swipeLayer.transform = CGAffineTransform(translationX: 0, y: 0)
.startAnimation()
【问题讨论】:
【参考方案1】:您需要将 sender 类型转换为 Any
,或者
@IBAction func swipeRightIncome(_ sender: UISwipeGestureRecognizer)
let parent = sender.view.superView!.superView!.superView!
// do what you want
还必须在ViewController
中声明这个
@IBOutlet weak var profitDrag:ViewDesignShadow!
【讨论】:
我正在尝试这个。仍然由于其他原因而出现一些错误。 像@IBAction func swipeLeftIncome(_ sender: UIBUtton) _ = UIViewPropertyAnimator(duration: 0.30, curve: .easeInOut) let parent = sender.superview! parent.transform = CGAffineTransform(translationX: -50, y: 0) .startAnimation() 它崩溃了。这次我做错了什么@Sh_Khan? 是的,这也可以,重要的是它不是 Any 还要确保 sender 是 _ sender: UIButton 而不是 _ sender: UIView,因为假设您点击了一个按钮 在VC中添加了视图@IBOutlet weak var profitDrag:ViewDesignShadow!以上是关于如何在滑动手势识别器函数中找到 UIButton 元素的父元素以构造对象?的主要内容,如果未能解决你的问题,请参考以下文章
Closed:: 创建一个带有滑动和点击手势的 UIButton 水平轮播