我有一個按鈕,我希望它的Touch Up Inside和Touch Up Outside操作都適用於所有相同的方法。那麼我想方法理清哪個事件發生了,這樣的事情:可能檢測按鈕發件人是否來自觸摸內部與觸摸外部?
- (IBAction)buttonMethod:(UIButton *)sender forEvent:(UIEvent *)event {
if (event == UIControlEventTouchUpInside)
NSLog(@"Touch up inside!");
if (event == UIControlEventTouchUpOutside)
NSLog(@"Touch up outside!");
}
}
這似乎並沒有工作,因爲觸摸事件似乎從UIControl這是不是在同一個宇宙中的UIEvent繼承。有什麼方法可以告訴我的方法哪個動作導致了該方法被調用?
爲什麼你需要在內部修改並修改外部連接到相同動作的方法? – ppilone
那麼你爲什麼不用兩種方法將它分開。 – Mrunal
因爲這兩種方法幾乎完全相同,除了Touch Up Outside會做更多的事情。如果可以檢測哪種類型的操作稱爲方法,那麼我更願意這樣做,並減少一個方法和更少的代碼。 – robertfiorentino