UILongPressGestureRecognizer

UILongPressGestureRecognizer

UILongPressGestureRecognizer已添加到UISegmentedControl。
长按时是否可以检测到selectedSegmentIndex?
提前致谢。

最佳答案

您是否尝试向其添加UILongPressGestureRecognizer?在viewDidLoad中:

UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPress:)];
longPress.delegate = self;
[segmentedControl addGestureRecognizer:longPress];

不要忘记将UIGestureRecognizerDelegate添加到头文件中。

要知道按下的位置:
- (void)longPress:(UILongPressGestureRecognizer *)gestureRecognizer {
    CGPoint p = [gestureRecognizer locationInView:segmentedControl];
}

然后,您可以检查segmentedControl的哪些段与CGPoint p匹配,例如,检查Y坐标。当它从UISegmentedControl的中间行离开时,它是段0;当它在该行的右边时,它就是段1。

关于ios - 长按时如何检测selectedSegmentIndex?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20607430/

10-12 14:42