Nel tentativo di Detect backspace in UITextField, ho provato la sottoclasse UITextField
and overriding -[UIKeyInput deleteBackward]
, ma non viene mai chiamato. Quindi, sospetto che UITextField
swizzles deleteBackward
a un altro nome di metodo.Runtime Objective-C: nome del metodo Swizzled?
Utilizzando lo Objective-C Runtime, come è possibile determinare il nome del metodo deleteBackward
impostato su swizzled? Quindi, come posso modificare l'implementazione in modo che UITextField
chiami [self.delegate textField:self shouldChangeCharactersInRange:NSMakeRange(0, 0) replacementString:@""]
quando il tasto di cancellazione viene premuto quando è vuoto.
Inoltre, questo tipo di metaprogrammazione farà rifiutare la mia app dall'App Store?
+1, perché questa è una domanda ingannevolmente difficile. – NJones
Hai mai risolto questo? Sto avendo lo stesso problema. – MdaG