проверка значения штрих-кода в Zbar SDK?

#iphone #ipad #ios4 #barcode

#iPhone #iPad #ios4 #штрих-код

Вопрос:

Я использую Zbar SDK в iphone.is возможно ли обнаружить недействительный штрих-код с помощью любого метода делегирования в режиме камеры?например, если я беру обычную бумагу (не штрих-код) в режиме камеры, я должен отобразить недопустимый штрих-код в режиме камеры через некоторое время, которое занимает ZBar SDK? Я попробовал следующий метод, но в руководстве сказано, что он предназначен для сканирования изображений из библиотеки фотографий.

 - (void) readerControllerDidFailToRead: (ZBarReaderController*) reader
                             withRetry: (BOOL) retry.
  

Ответ №1:

Что касается режима камеры, ZBar не имеет понятия о сбое по истечении заданного промежутка времени. Вам нужно будет его определить.

Я бы определил метод примерно так:

 - (void)checkIfScanComplete {
   if(zbarWidgetController.decoding) {  // you may have to add a property for decoding
                                        // alternatively, check if captureSession == nil
      [zbarWidgetController cancelled]; // cancelled is part of CancelDelegate protocol
      // show your error message, but on be sure you do it on main thread
   }
}
  

Затем вызовите его после произвольного интервала времени, подобного этому:

 [self performSelector:@selector(checkIfScanComplete) withObject:nil afterDelay:yourTimeInterval];
  

Комментарии:

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

2. обновлено в соответствии с вашим комментарием. У ZBar нет способа узнать, когда считать текущую проверку «неудачной», поэтому вы должны определить это.