2012-01-11 91 views

回答

4

解決它。如果我禁用了用戶交互,它只是沒有點擊交互,並且表現得像一個圖像。

UIButton *contactAddButton = [UIButton buttonWithType:UIButtonTypeContactAdd]; 
[contactAddButton setUserInteractionEnabled:FALSE]; 
cell.accessoryView = contactAddButton; 
+0

除了單擊單元格中的圖像將選擇單元格。將「userInteractionEnabled」設置爲「NO」的按鈕不會執行任何操作,因爲它是系統中其他任何位置的按鈕*,所以用戶會對其爲什麼不執行任何操作感到困惑。 – 2012-01-11 22:22:28

+0

但是,如果我點擊按鈕(或單元格中的任何其他位置),它將選擇單元格並推送另一個視圖。它的行爲就像默認的accesory按鈕之一(即UITableViewCellAccessoryDe​​tailDisclosureButton)。我看不出爲什麼他們會感到困惑。 – Tony 2012-01-11 22:41:02

+0

您是否在說該按鈕正在將觸摸事件轉發給單元格?有趣... – 2012-01-11 22:42:42

7

您可以通過創建UIButtonUIButtonTypeContactAdd類型並將其添加爲您的單元格的accessoryView來實現此目的。

UIButton contactAddButton = [UIButton buttonWithType:UIButtonTypeContactAdd]; 
cell.accessoryView = contactAddButton; 
+0

問題在於它覆蓋了我的didSelectRow事件。我想選擇整個行,如果點擊按鈕內部的按鈕不按下按鈕。我希望它表現得像一個形象。 – Tony 2012-01-11 20:45:45

0

你可以得到一個在這裏:http://blog.twg.ca/2010/11/retina-display-icon-set/

+0

這是一個很好的圖標集,但不是我正在尋找的。我需要像添加聯繫人按鈕一樣的藍色圖像。 – Tony 2012-01-11 22:11:45

+0

你可以從這個集合中獲得圖標圖像並創建一個這樣的按鈕。如果你想要完全相同的效果,你可以創建一個UIBarButtonItem(雖然我會建議UIButton在它上面)。 – 2012-01-11 22:42:30