2011-12-04 56 views
4

我需要在UITableViewCell中有UIButton,除非觸摸按鈕內部並移動手指,表格不滾動,否則一切正常。觸摸UITableViewCell中的UIButton不能滾動表格

我試圖將子類UIButton和touchesMoved:方法發送相同的消息到self.nextResponder,或調用touchesCancelled,並希望它會傳遞觸摸事件到下一個響應者,他們都不工作。

有什麼好方法可以解決這個問題嗎?目前,我在UITableViewCell的頂部添加了一個UIView,並手動檢測觸摸事件,並將結果分別傳遞給按鈕或單元的其餘部分,但這有點髒。

回答

2

什麼,你可以嘗試是UITableViewdelaysContentTouches屬性設置爲YES

此外,您可以設置canCancelContentTouchesYES

如果此屬性的值爲NO,則內容視圖開始跟蹤後,無論手指移動如何,滾動視圖都不會滾動 。

來源:UIScrollView Class Reference

嘗試:

_yourTableView.delaysContentTouches = YES; 
_yourTableView.canCancelContentTouches = YES; 
-2

最好的方法是製作一個自定義單元格,並整齊地完成您的工作。

檢查Apple docs

+1

這只是一個文檔的鏈接。它不提供任何反饋或提示。 – RaffAl

+0

@reecon:一個建議:剛剛閱讀文檔,你會明白爲什麼它作出了答案 –

+0

我讀過它。我也讀了所有鏈接的文件。關於在UITableViewCell中放置UIButton沒有任何關係。 – RaffAl