簡體   English   中英

可以檢測按鈕發件人是否來自Touch Up Inside和Touch Up Outside?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM