[英]Possible to detect if the button Sender was from a Touch Up Inside vs. a Touch Up Outside?
我有一個按鈕,我希望它的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繼承,UIControl與UIEvent不在同一個Universe中。 有沒有辦法告訴我的方法哪個動作導致調用該方法?
將它拆分為兩種方法,如果由於某種原因你只想要一個邏輯傳遞消息。
- (IBAction)buttonMethod:(UIButton *)sender forEvent:(UIEvent *)event controlEvent:(UIControlEvents)event {
if (event == UIControlEventTouchUpInside)
NSLog(@"Touch up inside!");
if (event == UIControlEventTouchUpOutside)
NSLog(@"Touch up outside!");
}
- (IBAction)buttonUpInside:(UIButton *)sender forEvent:(UIEvent *)event {
[self buttonMethod:sender forEvent:event controlEvent:UIControlTouchUpInside];
}
- (IBAction)buttonUpOutside:(UIButton *)sender forEvent:(UIEvent *)event {
[self buttonMethod:sender forEvent:event controlEvent:UIControlTouchUpOutside];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.