我試圖用覆蓋它的UIView構建自定義表視圖。我試圖識別常規UIView上的特殊手勢,特別是平移手勢,需要雙擊才能激活它(點擊並按住,然後平移)。從UIView傳遞觸摸事件在UITableView上
我目前有一個自定義的UITableViewController,以及一個自定義的UIView。我想嘗試保持它作爲一個UITableViewController而不是一個UITableView在UIViewController中出於兼容性的原因(很容易替換現有的UITableViewControllers)。
我可以得到一個雙擊和平底鍋沒有問題,但問題是我實際上不能再在表視圖中選擇一行。我可以在表格內滾動,但實際選擇不起作用。
理想情況下,我希望能夠在任何自定義表格視圖單元格中保留所有的水龍頭,滑動和常規事件(例如,可以向左或向右滑動以激活特定動作的清除或郵箱)。
我知道我可以從表格視圖中的方法indexPathForRowAtPoint:
中獲取表格視圖單元格,但這隻允許我選擇切換。
我也試着重寫觸摸起因是這樣的:
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
[self.nextResponder touchesBegan: touches withEvent: event];
}
以及其它相關事件,並已證實nextResponder是自定義的UITableViewController,但一直無法做任何事情。
我簽入了一堆其他職位,但沒有解決方案爲我工作。我曾嘗試一些其他的事情是:
添加一個水龍頭手勢識別,並將其轉發到的UITableViewController
[_containingTableViewController gestureRecognizerShouldBegin: tapGesture];
實現不同的手勢識別代表
-(BOOL) gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch: (UITouch *)touch{ return (touch.tapCount >= 2); }
除了YES和NO都是:
-(BOOL) gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
另外,在桌面視圖上,我試過設置canCancelContentTouches
,但兩個值都不起作用。
任何幫助將不勝感激,我已經嘗試了很多,但不能得到它!
如果確實需要完成,我可能會在GitHub上發佈完整的項目,但我必須首先清理它。
謝謝!