2011-06-28 40 views
0

因此,昨天晚上浪費了幾個小時後,我發現了一個有趣的UIButton行爲。我可能在過去遇到過這種情況,但無法回想起來。到目前爲止我找不到這種行爲的解釋,所以如果你對此有任何的信息,請指教我:UIButton觸及內部事件,界限變化?

創建一個UIButton的實例,然後設置它的動作爲UIControlEventTouchUpInside。現在,在您正在運行的應用程序中,按下按鈕並按住,移開按鈕並注意移動/拖動手指時邊界如何變化。觸摸被識別爲與按鈕的原始框架,邊界相距一定距離。

這在我的應用程序中使用locationInView實現代碼時導致了相當多的問題:確定UITableViewCell的索引路徑,它是該按鈕的超級視圖。

我的兩個確定indexPath替代的解決方案是:

  1. 使用按鈕上海華盈的 上海華盈,這是 UITableViewCell,連同 的UITableView的indexPathForCell: 方法。

  2. 相反使用UIControlEventTouchDown 指定我的按鈕動作。

希望有人認爲這有幫助或可以爲解決問題做出貢獻。

+0

我認爲這是一個功能不是bug。我認爲這樣做更友好。 – dasdom

+0

是的,我的想法也...文檔讓我們猜測雖然... – Schoob

回答

1

你可以使用touchesBegan:withEvent。

+0

是的,但是你需要繼承你使用過的每個按鈕。 – Schoob

+0

不,您可以在視圖控制器中使用touchesBegan。 – dasdom