我有一個子視圖按鈕(爲了說話的緣故子視圖是紅色正方形),當用戶在按鈕上按住紅色正方形動畫片半透明。'按住'UIButton行爲 - `觸摸取消'控制狀態阻止進一步的控制狀態
我有連接到這個方法的按鈕:
-(IBAction)peekToggle:(id)sendr{
NSLog(@"TOGGLE");
if(self.view.alpha ==1)self.view.alpha = 0.1;
else self.view.alpha = 1;
}
通過行爲:touch up inside
,touch up outside
和touch down
。所以當我按住按鈕的紅色框變成半透明,當我釋放我的手指時,它返回到不透明。 這最初工作正常,但是,如果我按住按鈕超過1秒,該按鈕不會註冊touch up
(釋放的手指)。
注意:我在父視圖(父視圖的子視圖父母不是父按鈕)上有一個longPressGestureRecogniser,但它沒有被觸發(預期)。
我很確定我長按按鈕被註冊爲touch cancel
,然後使touch up事件無效。
我該如何預防/解決此問題?
我可以停止touch Cancel
射擊嗎? (即使我已經註冊了控制狀態,這個事件似乎會觸發)或者在事件中,告訴按鈕保持/開始註冊事件?
longPressGestureRecogniser?那麼它不會觸發,因爲父母在按鈕「後面」。嘗試添加一個longPressGestureRecogniser到它自己的按鈕。如果觸摸未被識別,則識別器將逐級向下觸摸按鈕。 – picknick 2011-02-15 12:51:02
我應該已經更清楚了,父=子視圖的父母,而不是按鈕的父母,我不想要長按事件,長按按鈕觸發取消其註冊事件或不註冊事件。 – 2011-02-15 13:03:39