2012-04-13 16 views
2

ためuibarbuttonを追加し、私はこれまで、今持っていますがZBarReaderViewController私はZBarReaderに取り組んでいます

ZBarReaderViewController *controller = [[ZBarReaderViewController alloc] init]; 
controller.navigationController.navigationBarHidden = NO; 
// Add Edit button to the right and handle click event UIBarButtonItem *manualButton = [[UIBarButtonItem alloc] initWithTitle:@"Manual" style:UIBarButtonItemStyleBordered target:self action:@selector(EditMode:)]; 
[controller.navigationItem setRightBarButtonItem:manualButton]; 
controller.readerDelegate = self; 
[self presentModalViewController:controller animated:YES]; 

である私の質問は、それは我々ので、そのようなものの上にできていますZBarReaderViewController。

答えて

8

はい、あなたはその後、カスタムcameraOverlayViewを設定する必要があなたのZBarReaderViewController

self.zReader.showsCameraControls = NO; 
self.zReader.showsZBarControls=NO; 

に最初のいくつかのプロパティを設定している、例えばこれは、コントロールにピッカーとUISwitchを閉じ、左ボタンでUIToolBarを設定しましたflashMode:

self.zReader.cameraOverlayView=[self setOverlayPickerView]; 

- (UIView *)setOverlayPickerView{ 
    UIView *v=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; 
    [v setBackgroundColor:[UIColor clearColor]]; 
    UIToolbar *myToolBar = [[UIToolbar alloc] init]; 
    UIBarButtonItem *backButton=[[UIBarButtonItem alloc] initWithTitle:@"back" style:UIBarButtonItemStyleBordered target:self action:@selector(dismissOverlayView:)]; 
    UISwitch *sw=[[UISwitch alloc] init]; 
    [sw setOn:NO]; 
    UIBarButtonItem *switchButton=[[UIBarButtonItem alloc] initWithCustomView:sw]; 
    UIBarButtonItem *fixed=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; 
    [sw addTarget:self action:@selector(handleSwitchFlash:) forControlEvents:UIControlEventValueChanged]; 
    [myToolBar setItems:[NSArray arrayWithObjects:backButton,fixed,switchButton,nil]]; 
    [myToolBar setBarStyle:UIBarStyleDefault]; 
    CGRect toolBarFrame; 
    toolBarFrame = CGRectMake(0, 436, 320, 44); 
    [myToolBar setFrame:toolBarFrame]; 
    [v addSubview:myToolBar]; 
    return v; 
} 

- (void)dismissOverlayView:(id)sender{ 
    [self dismissModalViewControllerAnimated: YES]; 
} 
+0

が私を助けます。私は試して、それは働いた。あなたはそれをプログラミングする代わりにペン先からどのようにビューを読み込むことができるのか知っていますか? – tranvutuan

+0

通常のUIViewController(xibを使用)を作成し、そのビューを 'cameraOverlayView'に渡すだけです。 – Mat

+0

私はちょうどそれを試してみました.. [リンク](http://stackoverflow.com/questions/10156930/customization-of-the-cameraoverlay)で別の投稿を見てください – tranvutuan

0

@Matの答えに加えて、 は [self.zReader.view setFrame:[UIScreen mainScreen].bounds]; befoを追加する必要がありますre self.zReader.cameraOverlayView=[self setOverlayPickerView];

デフォルトでは、self.zReaderのサイズは(320,480)なので、ところで

、不要互換iOS6.0場合、あなただけの[AVCaptureDevice]使用することができます。それがない https://developer.apple.com/library/mac/documentation/AVFoundation/Reference/AVCaptureDevice_Class/Reference/Reference.html

関連する問題