Поймать ввод текста без textField - PullRequest
2 голосов
/ 01 февраля 2012

Здесь вопрос к профессионалам ... Я разрабатываю приложение на Ipad и использую устройство считывания штрих-кода с Bluetooth.Я синхронизировал устройство для считывания штрих-кода с Ipad, и я могу без проблем перехватить текст в textField.Когда я читаю штрих-код, я не хочу помещать его в textField, я хочу поймать его в классе, обработать и решить, что с ним делать.Я искал в Интернете способ сделать это, но я не могу найти это.Кто-то может мне помочь?Могу ли я сделать делегат класса для получения входных строк?

Я немного растерялся, и любая помощь будет очень полезна для меня

Спасибо за ваше время !!

Ответы [ 2 ]

1 голос
/ 02 февраля 2012

Я решил проблему создания скрытого текстового поля, которое становится первым респондентом при создании viewcontroller. После того, как я сделал тот же viewController, делегат этого текстового поля. Когда читатель кодовой строки BT делает чтение, он делает возврат в конце, поэтому он вызывает - (BOOL) textFieldShouldReturn: где я обрабатываю информацию. Я надеюсь, что это будет полезно для кого-то в будущем с той же проблемой. Выкладываю код:

_textSender = [[UITextField alloc] initWithFrame:CGRectMake(150, 300, 300, 25)]; [_textSender setBackgroundColor:[UIColor whiteColor]]; [self.view addSubview:_textSender]; _textSender.hidden=YES; [_textSender becomeFirstResponder]; _textSender.delegate=self;

- (BOOL)textFieldShouldReturn:(UITextField *)textField{ [messageSenderProtocolDelegate message:textField.text]; return YES; }

Это не очень хороший способ сделать это, и это доставляет мне небольшую проблему, когда штрих-код BT отключает клавиатуру, и это не очень хорошо для меня. Я хочу, чтобы мой взгляд был чистым без клавиатуры все время. Теперь я буду исследовать, вызывается ли эта функция, когда клавиатура показывает, чтобы он не отображался

Если у кого-то есть совет, он будет полезен, но скажите спасибо за вашу помощь, Эрик!

0 голосов
/ 01 февраля 2012

Вы можете перехватить любое событие, используя подкласс UIApplication и переопределив

- (void)sendEvent:(UIEvent *)event

Закрытый заголовок UIEvent объявляет следующий метод

- (GSEventRef)_gsEvent;

GSEventRef объявлен в закрытомFramework называется GraphicsServices .Посмотрите, можете ли вы найти полезную информацию для вашего мероприятия.

Я бы попытался записать некоторые флаги с _GSEventGetGSEventRecord.

Вы можете возиться, но если вам нужно что-то конкретное,Обязательно отправьте rdar://.

Если вам нужно использовать личные вещи, напишите свой код так, чтобы он не сломался, когда что-то изменится (или сломается без сбоев).

...