mirror of
https://github.com/zxing/zxing.git
synced 2024-11-10 04:54:04 -08:00
Fixes to get zxing compatible back to OS 3.0 as proposed by David Oster.
git-svn-id: https://zxing.googlecode.com/svn/trunk@1349 59b500cc-1b3d-0410-9834-0bbf25fbcc57
This commit is contained in:
parent
8af8dea749
commit
0ab1caee3e
|
@ -230,32 +230,39 @@ CGImageRef MyCGImageCopyScreenContents(void) {
|
|||
|
||||
// [[NSUserDefaults standardUserDefaults] boolForKey:@"allowEditing"];
|
||||
BOOL isCamera = (sourceType == UIImagePickerControllerSourceTypeCamera);
|
||||
picker.allowsEditing = !isCamera;
|
||||
if ([picker respondsToSelector:@selector(setAllowsEditing:)]) {
|
||||
// not in 3.0
|
||||
[picker setAllowsEditing:!isCamera];
|
||||
}
|
||||
if (isCamera) {
|
||||
picker.showsCameraControls = NO;
|
||||
UIButton *cancelButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
|
||||
NSString *cancelString =
|
||||
if ([picker respondsToSelector:@selector(setShowsCameraControls:)]) {
|
||||
[picker setShowsCameraControls:NO];
|
||||
UIButton *cancelButton =
|
||||
[UIButton buttonWithType:UIButtonTypeRoundedRect];
|
||||
NSString *cancelString =
|
||||
NSLocalizedString(@"DecoderViewController cancel button title", @"");
|
||||
CGFloat height = [UIFont systemFontSize];
|
||||
CGSize size = [cancelString sizeWithFont:[UIFont systemFontOfSize:height]];
|
||||
[cancelButton setTitle:cancelString forState:UIControlStateNormal];
|
||||
CGRect appFrame = [[UIScreen mainScreen] bounds];
|
||||
static const int kMargin = 10;
|
||||
static const int kInternalXMargin = 10;
|
||||
static const int kInternalYMargin = 10;
|
||||
CGRect frame = CGRectMake(kMargin,
|
||||
appFrame.size.height - (height + 2*kInternalYMargin + kMargin),
|
||||
2*kInternalXMargin + size.width,
|
||||
height + 2*kInternalYMargin);
|
||||
[cancelButton setFrame:frame];
|
||||
[cancelButton addTarget:self
|
||||
action:@selector(cancel:)
|
||||
forControlEvents:UIControlEventTouchUpInside];
|
||||
picker.cameraOverlayView = cancelButton;
|
||||
// The camera takes quite a while to start up. Hence the 2 second delay.
|
||||
[self performSelector:@selector(takeScreenshot)
|
||||
withObject:nil
|
||||
afterDelay:2.0];
|
||||
CGFloat height = [UIFont systemFontSize];
|
||||
CGSize size =
|
||||
[cancelString sizeWithFont:[UIFont systemFontOfSize:height]];
|
||||
[cancelButton setTitle:cancelString forState:UIControlStateNormal];
|
||||
CGRect appFrame = [[UIScreen mainScreen] bounds];
|
||||
static const int kMargin = 10;
|
||||
static const int kInternalXMargin = 10;
|
||||
static const int kInternalYMargin = 10;
|
||||
CGRect frame = CGRectMake(kMargin,
|
||||
appFrame.size.height - (height + 2*kInternalYMargin + kMargin),
|
||||
2*kInternalXMargin + size.width,
|
||||
height + 2*kInternalYMargin);
|
||||
[cancelButton setFrame:frame];
|
||||
[cancelButton addTarget:self
|
||||
action:@selector(cancel:)
|
||||
forControlEvents:UIControlEventTouchUpInside];
|
||||
picker.cameraOverlayView = cancelButton;
|
||||
// The camera takes quite a while to start up. Hence the 2 second delay.
|
||||
[self performSelector:@selector(takeScreenshot)
|
||||
withObject:nil
|
||||
afterDelay:2.0];
|
||||
}
|
||||
}
|
||||
|
||||
// Picker is displayed asynchronously.
|
||||
|
|
|
@ -48,7 +48,19 @@ static NSMutableSet *sResultParsers = nil;
|
|||
#ifdef DEBUG
|
||||
NSLog(@"parsing result:\n<<<\n%@\n>>>\n", s);
|
||||
#endif
|
||||
for (Class c in [self resultParsers]) {
|
||||
|
||||
// Make the parser of last resort the last parser we try.
|
||||
NSMutableArray *resultParsers =
|
||||
[NSMutableArray arrayWithArray:[[self resultParsers] allObjects]];
|
||||
NSUInteger textIndex =
|
||||
[resultParsers indexOfObject:NSClassFromString(@"TextResultParser")];
|
||||
if (NSNotFound != textIndex) {
|
||||
// If it is present, make sure it is last.
|
||||
[resultParsers exchangeObjectAtIndex:textIndex
|
||||
withObjectAtIndex:[resultParsers count] - 1];
|
||||
}
|
||||
|
||||
for (Class c in resultParsers) {
|
||||
#ifdef DEBUG
|
||||
NSLog(@"trying %@", NSStringFromClass(c));
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue