То, что я пытаюсь реализовать, - это UITextField
, который видит слова как символы. В частности, я пытаюсь увидеть математическое выражение sin (например, один символ). Я решил решить эту проблему, выполнив мой собственный UITextInputDelegate. Однако четыре требуемые функции из этого протокола никогда не вызываются при реализации или принятии этого протокола. пытался его реализации следующими способами:..Проблемы с реализацией протокола <UITextinputDelegate>
наследуя в UITextField
@interface BIDUItextFieldDelegate : UITextField <UITextInputDelegate>
наследуя в NSObject
@interface BIDTextfieldInputDelegate : NSObject <UITextInputDelegate>
соответствующий файл .m содержит:
@implementation BIDTextfieldInputDelegate
- (void)selectionWillChange:(id <UITextInput>)textInput
{
NSLog(@"sWill");
}
- (void)selectionDidChange:(id <UITextInput>)textInput
{
NSLog(@"sDid");
}
- (void)textWillChange:(id <UITextInput>)textInput
{
NSLog(@"tWill");
}
- (void)textDidChange:(id <UITextInput>)textInput
{
NSLog(@"tDid");
}
, например, для второго подхода (через подклассов NSObject), я сделать следующее в (ID) метода инициализации в качестве дополнительного пользовательского класса UITextField, который отображается в приложении:
//textInputDel is an instance of the custom NSObject class that adopts the above UITextInputDelegate protocol
self.textInputDel = [[BIDTextfieldInputDelegate alloc] init];
self.inputDelegate = self.textFieldDel;
Кто-нибудь знает, что я делаю неправильно, или имеет лучшее решение?
http://apptree.net/parser.htm Может помочь. –
Спасибо за ваш быстрый комментарий, я использую DDmathparser. Разбор себя все работает отлично, но, например, можно удалить несколько символов одновременно или ограничить возможности вставки в фиксированных словах, это проблема, с которой я имею дело в настоящий момент. –
Вы можете найти обходной путь для проблемы [здесь] (http://stackoverflow.com/questions/25158161/uitextinputdelegate-methods-not-functioning-correctly/27128185#27128185). – Daniel