#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 нет способа узнать, когда считать текущую проверку «неудачной», поэтому вы должны определить это.