Forse si sta facendo qualcosa di insolito, come desideri solo tocchi per essere rilevati all'interno di un triangolo o qualcosa . Se è così, puoi ignorarlo. Tuttavia, dato che sei nuovo su iOS, ti consiglio di utilizzare una sottoclasse UIControl
con coppie di azioni di destinazione o uno UIGestureRecognizer
.
codice di esempio potrebbe essere:
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
Più tardi nel target
- probabilmente il vostro controller della vista, si dovrebbe implementare il metodo:
- (void)buttonPressed:(id)sender
{
}
Con un sistema di riconoscimento gesto, si dovrebbe aggiungere il gesto riconoscimento a UIView
e, come con lo UIControl
, aggiungere una coppia azione di destinazione:
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewTapped:)];
[self.view addGestureRecognizer:tapRecognizer];
- (void)viewTapped:(UIGestureRecognizer *)recognizer
{
}
Questi sono gli approcci tipici per l'interazione dell'utente di base. Avrai molto più tempo più semplice con questi rispetto all'utilizzo di touchesBegan
& società, anche se se sono ciò di cui hai bisogno, gli altri rispondenti ti hanno coperto.
Grazie. Sembra esattamente quello che sto cercando. Non sono riuscito a trovare questa soluzione per la vita di me. – user1941895
bene, questo sta usando l'API C Core Graphics, quindi non è al livello di Obj-C o C++ ... Quindi non apparirebbe nella documentazione della classe Obj-C. – nielsbot