2015-02-09 65 views
1

我的視圖層次是這樣的:觸摸檢測時的UITextView內部內的另一個的UITableView的細胞一個UITableView的細胞

(的UITableViewController) - >的UITableView A - >(小區) - >的UITableView乙 - >(單元) - > UITextView C

表視圖B不可滾動,但啓用了用戶交互。

文本視圖C不可滾動,不可編輯,但可選。

事實上,使用情況是:

我使用表格視圖中的顯示用戶的新聞源列表,並使用表格視圖B到顯示的每條新聞的評論,並使用文本視圖C到顯示每個評論的內容,這是一個NSAttribtuedString,因爲我想讓用戶的名字在評論中可點擊。

現在問題來了。我想讓用戶點擊評論來做一些事情。但是,檢測到輕擊時總會有延遲。如果你點擊得太快,就沒有反應。

我試圖在表視圖A上設置delayContentTouches,但它不起作用。

我也知道單元格內的文本視圖將禁用表視圖的didSelectCellAtIndexPath委託回調。

所以,有誰能告訴我如何使文本視圖C的檢測點立即響應?

或者,對於我的用例,是否有更好的實現?

回答

0

這太複雜了,但我認爲你可以通過'hittest'來檢查哪個視圖被觸摸來控制你想要的特定視圖。

1
UILongPressGestureRecognizer *recognizer 
    = [[UILongPressGestureRecognizer alloc] 
       initWithTarget:self action:@selector(handleLongPress:)]; 
recognizer.minimumPressDuration = .5; //seconds 
recognizer.delegate = self; 
[self.collectionView addGestureRecognizer:recognizer]; 

任何機會與長按手勢識別器,使它象上述什麼?

你只需要在handleLongPress方法中描述你想要的東西。