@interface RootViewController : UIViewController <ZXingDelegate> {
IBOutlet UITextView *resultsView;
@interface RootViewController : UIViewController <ZXingDelegate> {
IBOutlet UITextView *resultsView;
- ZXingWidgetController *scanController;
NSString *resultsToDisplay;
}
@property (nonatomic, retain) IBOutlet UITextView *resultsView;
NSString *resultsToDisplay;
}
@property (nonatomic, retain) IBOutlet UITextView *resultsView;
#import "RootViewController.h"
#import "QRCodeReader.h"
#import "RootViewController.h"
#import "QRCodeReader.h"
@interface RootViewController()
@interface RootViewController()
-@property (nonatomic,retain) ZXingWidgetController *scanController;
@implementation RootViewController
@synthesize resultsView;
@synthesize resultsToDisplay;
@implementation RootViewController
@synthesize resultsView;
@synthesize resultsToDisplay;
-@synthesize scanController;
#pragma mark -
#pragma mark View lifecycle
- (void)viewDidLoad {
#pragma mark -
#pragma mark View lifecycle
- (void)viewDidLoad {
[self setTitle:@"ZXing"];
[self setTitle:@"ZXing"];
+}
+
+- (IBAction)scanPressed:(id)sender {
+
ZXingWidgetController *widController = [[ZXingWidgetController alloc] initWithDelegate:self showCancel:YES OneDMode:NO];
QRCodeReader* qrcodeReader = [[QRCodeReader alloc] init];
NSSet *readers = [[NSSet alloc ] initWithObjects:qrcodeReader,nil];
[qrcodeReader release];
widController.readers = readers;
[readers release];
ZXingWidgetController *widController = [[ZXingWidgetController alloc] initWithDelegate:self showCancel:YES OneDMode:NO];
QRCodeReader* qrcodeReader = [[QRCodeReader alloc] init];
NSSet *readers = [[NSSet alloc ] initWithObjects:qrcodeReader,nil];
[qrcodeReader release];
widController.readers = readers;
[readers release];
-
- self.scanController = widController;
+ NSBundle *mainBundle = [NSBundle mainBundle];
+ [widController setSoundToPlay:[[NSURL fileURLWithPath:[mainBundle pathForResource:@"beep-beep" ofType:@"aiff"] isDirectory:NO] retain]];
+ [self presentModalViewController:widController
+ animated:YES];
- NSBundle *mainBundle = [NSBundle mainBundle];
- [scanController setSoundToPlay:[[NSURL fileURLWithPath:[mainBundle pathForResource:@"beep-beep" ofType:@"aiff"] isDirectory:NO] retain]];
-
-- (IBAction)scanPressed:(id)sender {
- //UIImagePickerController *picker = [[UIImagePickerController alloc] init];
- [self presentModalViewController:scanController
- animated:YES];
-// [self.navigationController pushViewController:scanController animated:true];
-}
- (void)viewWillAppear:(BOOL)animated {
- (void)viewWillAppear:(BOOL)animated {
- [super viewWillAppear:animated];
+ [super viewWillAppear:animated];
+ if (resultsToDisplay)
+ {
+ [resultsView setText:resultsToDisplay];
+ [resultsView setNeedsDisplay];
+ }
-- (void)viewDidAppear:(BOOL)animated {
- [super viewDidAppear:animated];
-}
-*/
+ - (void)viewDidAppear:(BOOL)animated {
+ [super viewDidAppear:animated];
+ }
+ */
-- (void)viewWillDisappear:(BOOL)animated {
- [super viewWillDisappear:animated];
-}
-*/
+ - (void)viewWillDisappear:(BOOL)animated {
+ [super viewWillDisappear:animated];
+ }
+ */
-- (void)viewDidDisappear:(BOOL)animated {
- [super viewDidDisappear:animated];
-}
-*/
+ - (void)viewDidDisappear:(BOOL)animated {
+ [super viewDidDisappear:animated];
+ }
+ */
/*
// Override to allow orientations other than the default portrait orientation.
/*
// Override to allow orientations other than the default portrait orientation.
-- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
- // Return YES for supported orientations.
- return (interfaceOrientation == UIInterfaceOrientationPortrait);
-}
+ - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
+ // Return YES for supported orientations.
+ return (interfaceOrientation == UIInterfaceOrientationPortrait);
+ }
-#pragma mark Memory management
+#pragma mark -
+#pragma mark ZXingDelegateMethods
-- (void)scanResult:(NSString *)result {
- //[self.resultsView setText:result];
- [self dismissModalViewControllerAnimated:NO];
+- (void)zxingController:(ZXingWidgetController*)controller didScanResult:(NSString *)result {
+ [self dismissModalViewControllerAnimated:NO];
self.resultsToDisplay = result;
}
self.resultsToDisplay = result;
}
-- (void)viewWillAppear:(BOOL)animated {
- if (resultsToDisplay)
- {
- [resultsView setText:resultsToDisplay];
- [resultsView setNeedsDisplay];
- }
+- (void)zxingControllerDidCancel:(ZXingWidgetController*)controller {
+ [self dismissModalViewControllerAnimated:YES];
-- (void)cancelled {
- [self dismissModalViewControllerAnimated:YES];
-}
#pragma mark -
#pragma mark Memory management
- (void)didReceiveMemoryWarning {
#pragma mark -
#pragma mark Memory management
- (void)didReceiveMemoryWarning {
- // Releases the view if it doesn't have a superview.
- [super didReceiveMemoryWarning];
-
- // Relinquish ownership any cached data, images, etc that aren't in use.
+ // Releases the view if it doesn't have a superview.
+ [super didReceiveMemoryWarning];
+
+ // Relinquish ownership any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
}
- (void)viewDidUnload {
- // Relinquish ownership of anything that can be recreated in viewDidLoad or on demand.
- // For example: self.myOutlet = nil;
+ // Relinquish ownership of anything that can be recreated in viewDidLoad or on demand.
+ // For example: self.myOutlet = nil;
}
- (void)dealloc {
[resultsView release];
}
- (void)dealloc {
[resultsView release];
- [scanController release];
[resultsToDisplay release];
[resultsToDisplay release];
080E96DDFE201D6D7F000001 /* Classes */,
29B97315FDCFA39411CA2CEA /* Other Sources */,
29B97317FDCFA39411CA2CEA /* Resources */,
080E96DDFE201D6D7F000001 /* Classes */,
29B97315FDCFA39411CA2CEA /* Other Sources */,
29B97317FDCFA39411CA2CEA /* Resources */,
- 29B97323FDCFA39411CA2CEA /* Frameworks */,
1F027F6D11A7BAB1006B06DE /* Dependencies */,
1F027F6D11A7BAB1006B06DE /* Dependencies */,
+ 29B97323FDCFA39411CA2CEA /* Frameworks */,
19C28FACFE9D520D11CA2CBB /* Products */,
);
name = CustomTemplate;
19C28FACFE9D520D11CA2CBB /* Products */,
);
name = CustomTemplate;