2011-06-06 56 views

回答

2

这是用透明的PNG最好的完成。只需将它导入到您的项目中,然后创建一个新的UIImageView,您将其提供给读者。

我这样做是为了增加一个标志:

// Create the reader 
self.reader = [ZBarReaderViewController new]; 
self.reader.readerDelegate = self; 

// Create image for adding a logo :) 
UIImage *image = [UIImage imageNamed:@"scan_logo.png"]; 
UIImageView *imageLogo = [[UIImageView alloc] initWithImage:image]; 
imageLogo.frame = CGRectMake(0, 0, image.size.width, image.size.height); 

// Configure reader 
self.reader.cameraOverlayView = imageLogo; 

为了得到中央的图像只是改变从车架定位:

imageLogo.frame = CGRectMake(0, 0, image.size.width, image.size.height); 

喜欢的东西:

imageLogo.center = CGRectMake(320/2, 460/2, image.size.width, image.size.height); 
+0

谢谢,Jeroen。有没有什么方法可以在模拟器中查看? – gonzobrains 2011-06-07 04:06:53

+0

对不起,迟到的回应。不幸的是,因为您的电脑没有相机,它只会让您选择要扫描的照片。只需将条形码保存到您的iPhone/iPad模拟器图片库,并在测试时出现。如果我给出的答案是正确的,请考虑将其标记为正确的答案。 – JeroenEijkhof 2011-06-09 06:52:11

0

FWIW我在我的应用程序中做的是扩展ZBarReaderViewController类,将我的新类设置为ZBarReaderDelegate als O,然后把JeroenEijkhof的代码放到我的init重写:

- (id) init 
{ 
    self = [super init]; 
    if(self) { 
     self.readerDelegate = self; 
     UIImage *image = [UIImage imageNamed:... 
     ... 
    } 
    return self; 
} 

这给了我控制视图的其他方面,如viewDidLoadviewWillAppear自定义导航控制器的能力,因为我正在执行相机视图一个NavigationController视图堆栈,并希望能够添加标题栏,工具栏等,而不是像zbar文档所示的那样以模态方式呈现它。