UILongPressGestureRecognizer被添加到UISegmentedControl中。 長時間按下時是否有辦法檢測selectedSegmentIndex? 感謝,提前。如何在長時間按下時檢測selectedSegmentIndex?
1
A
回答
2
您是否嘗試添加UILongPressGestureRecognizer? In 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
0
您註冊長按UISegmentedControl
let longPress = UILongPressGestureRecognizer(target: self, action: #selector(ListQuizViewController.segmentLongPress(_:)))
//longPress.delegate = self;
self.segmentedControl.addGestureRecognizer(longPress)
longPress.minimumPressDuration = 1
您獲得所選按鈕的指標如下在假設段等距
func segmentLongPress(gestureRecognizer:UILongPressGestureRecognizer)
{
let p = gestureRecognizer.locationInView(self.segmentedControl)
let index = Int(ceil(p.x/(self.segmentedControl.frame.width/4))) - 1
self.segmentedControl.selectedSegmentIndex = index
}
相關問題
- 1. 如何檢測Backspace鍵長按何時?
- 2. 檢測時間按鈕被按下
- 3. 檢測何時按下@鍵
- 4. 檢測長時間觸摸
- 5. Java檢測鍵被按下的時間
- 6. 如何檢測Arduino中按下按鈕的時間?
- 7. Highstocks - 如何檢測變焦按鈕被按下的時間
- 8. 我該如何檢測一個鍵被按下了多長時間?
- 9. 如何識別像在iOS上長時間按下之前長時間按下的手勢?
- 10. 如何檢測何時按下按鈕並在android上釋放
- 11. 在java中按下多長時間
- 12. 我如何檢測長按?
- 13. 同時按下兩個鍵時檢測
- 14. 單擊按鈕時檢測時間
- 15. ImageView.setOnTouchListener檢測不到長時間移動
- 16. 檢測TouchableWithoutFeedback長時間的新聞稿
- 17. 當按下音量按鈕時檢測
- 18. 按下主頁按鈕時檢測iOS
- 19. 如何檢測用戶何時按下了關機按鈕?
- 20. 檢測家中孩子被按下的時間家長活動的活動
- 21. 按下的鍵的時間長度
- 22. 檢測是否被按下一個特定的時間間隔
- 23. 在特定時間檢測屏幕按下
- 24. 在LotusScript中無符號長整數?如何長時間關閉溢出檢測?
- 25. 如何檢測Facebook登錄時是否按下取消按鈕
- 26. 如何檢測2個按鈕同時按下?
- 27. 如何在鼠標左鍵按下時檢測鼠標移動?
- 28. 需要檢測何時在iframe中按下一個按鈕,JavaScript
- 29. 如何檢測按鍵,並在同一時間
- 30. 長時間按下一段時間而不是釋放?
而在viewDidUnload –
感謝您的評論將其刪除。但是我想知道長按下時段控件的索引值。 longpressgesturerecognizer運作良好。我的問題是不添加手勢,但檢查索引值。 – Akoya
你是指segmentedControl.selectedSegmentIndex值? – Mathijs