如何为分段控件添加滑动手势?

3
我有一个添加到UIViewImageView。点击图像会转到同一UIView中的Segmented Control。我正在尝试为这个分段控件添加滑动手势。
尝试了以下操作:
override func viewDidLoad() {
    super.viewDidLoad()

    let rightSwipe = UISwipeGestureRecognizer(target: SegmentCotroller, action: Selector("swiped:"))
    rightSwipe.direction = .Right
    self.SegmentCotroller.addGestureRecognizer(rightSwipe)
}

func swiped(sender:UIGestureRecognizer){
    print("Swiped.....!")
}

当向右滑动时,代码从未到达刷卡方法。

任何帮助都将不胜感激!谢谢


你是在代码中还是在Storyboard中创建了你的“分段控制器”对象?如果是在Storyboard中创建的,那么你是否已经为它创建了IBOutlet? - Alexey Pichukov
1个回答

3

您需要将滑动手势目标设置为self

let rightSwipe = UISwipeGestureRecognizer(target: self, action: Selector("swiped:"))
rightSwipe.direction = .Right
self.segmentController.addGestureRecognizer(rightSwipe)

目标集确定操作将执行的位置,因此您希望它指向您实现该操作的位置。


谢谢您的回复。我之前尝试过那个方法,但是没有成功。 - user360
好的。那么你的控制器里还有其他问题。我试过了,它完全正常工作。你是怎么设置分段控件的?是一个输出口还是在代码中创建的? - Moriya
你能否更详细地解释一下你的用法并且可能贴上一张截图吗?你的问题有点难以理解。 - Moriya
我有一个用于segmentedController的插座 @IBOutlet weak var SegmentCotroller: UISegmentedControl! - user360
嗯...我在一个通过编程创建的分段控制器上尝试了你的swipeGestureRecognizer代码,除了目标之外,代码没有任何问题。因此,如果没有关于其余代码或一些截图的更多信息,很难帮助你。抱歉。 - Moriya
感谢Moriya的帮助。代码非常庞大,所以很难发送截图,但我确实意识到了我的错误。我试图滑动集合视图单元格,而不是分段控件本身,因为它在点击分段控件时加载。现在当我在分段控件上滑动时它可以工作了。 - user360

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接