2011-02-09 71 views
0

在這種方法請看:如何使UIButton的迴應只是去觸摸,拖不動

[textButton addTarget:self action:@selector(articleModalWillAppear:)forControlEvents:UIControlEventTouchDown];

當按鈕被觸摸時,它調用articleModalWillAppear:。這很好。問題是按鈕在拖動時也會調用該操作。 (該按鈕是大,包含一個文本段落)

我把六個這樣的按鈕爲UIScrollView中(與UIPageControl)的子視圖。它在水平拖動UIScrollView時效果很好。但是,因爲當手指在一個按鈕上拖動,按鈕認爲觸摸和觸控調用articleModalWillAppear:垂直拖動時彈出模態的看法。

如果您還有不明白我的問題,想想紐約時報的iPad應用程序。您可以水平拖動頁面。您可以觸摸文章描述以轉到完整文章視圖。但是,當您在文章描述中垂直拖動時沒有任何反應。如何實現這一目標?

回答

1

使用不同的事件例如爲:

[textButton addTarget:self action:@selector(articleModalWillAppear:) forControlEvents:UIControlEventTouchUpInside]; 

UIControlEventTouchUpInside在這種情況下,最常用的。

1

使用forControlEvents:UIControlEventTouchUpInside

,只有當用戶在按鈕內觸地,然後在相同的按鈕觸碰起來,而忽略拖動註冊一個點擊事件。

+0

現在的效果要好得多。謝謝! – Yiyi 2011-02-09 13:59:28