Chystám sa do problému, kde mám UIButtonv ktorom chcem sledovať udalosti z tlače / uvoľnenia. Takže sa venujem udalostiam Touch Down / Touch Up. Bohužiaľ, v niektorých situáciách sa to nepodarí sledovať udalosti Touch Up - napríklad ak sa objaví upozornenie.
- (IBAction)buttonDown:(id)sender;
- (IBAction)buttonUp:(id)sender;
Ako zabezpečím, aby bol ovládač zobrazený, keď tlačidlo prechádza zo stlačeného / normálneho stavu, bez ohľadu na to, aký je dôvod?
odpovede:
0 pre odpoveď č. 1Musíte sledovať udalosť zrušenia dotyku rovnako. To by malo robiť.
edit: Hmmm, čo UIControlEventAllTouchEvents
? Musíte ju pridať programovo. Som naozaj prekvapený, že zrušiť to neurobil. Môžete sa tiež pokúsiť o zaobchádzanie -(void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
vo vašom UIViewControlleri.
[myButton addTarget:self action:@selector(allTouches) forControlEvents:UIControlEventAllTouchEvents];
Výborne.
3 pre odpoveď č. 2
Skúste túto metódu:
[myButton addTarget: target action: @selector(buttonUp:) forControlEvents: UIControlEventTouchUpInside];
0 pre odpoveď č. 3
Pokúšate sa zistiť, či sú tlačidlá stlačené alebo uvoľnené, keď je zobrazenie UIAlert aktuálne na špičke alebo bolo zamietnuté a tlačidlá stlačené už nie sú citlivé?