1

我有一个从故事板创建的 ZBarReaderView,大小为 300*90 像素,显示为大约 200*400 像素,因为 ZBarReaderView 并没有把它的尺寸看得太严重......

我这样声明我的 IBOutlets:

@interface MYQViewController : UIViewController < ZBarReaderViewDelegate >
{
    ZBarReaderView *readerView;
    ZBarCameraSimulator *cameraSim;
    UITextView *resultText;
}
@property (strong, nonatomic) IBOutlet ZBarReaderView *readerView;
@property (strong, nonatomic) IBOutlet UITextView *resultText;
@end

在 viewDidLoad

-(void) viewDidLoad
{
 readerView.readerDelegate = self;
 readerView.zoom=1;
 if(TAGET_IPONE_SIMULATOR)
{
 cameraSim=[[ZBarCameraSimulator alloc] initWithViewController:self];
 cameraSim.readerView=readerView;
}
}

-(void)Scan
{
    if(readerView.hidden)
    {
         [readerView start];
         readerView.hidden = NO;
         resultText.text=EMPTY_STRING;
    }
    else
    {
         [readerView stop];
         readerView.hidden = YES;
         //OTHER CODES        
    }
}

-(void) readerView:(ZBarReaderView *)readerView didReadSymbols:(ZBarSymbolSet * )symbolsfromImage:(UIImage *)image
{
    for (ZBarSymol *sym in symbols)
    {
        self.resultText.text=sym.data;
        break;
    }
}
4

1 回答 1

4

我有一个类似的问题要解决。我在 Storyboard 中创建了一个 UIView 并将 ZBarReaderView 作为类分配给它。当 ZBarViewReaderView 启动时,它扩展了我的视野。

我在将示例代码 (EmbeddedReader) 与我的代码进行比较时找到了解决方案。这很简单:

在 Storyboard 或 Interface Builder 中,如果您的视图被选中,您必须选中“剪辑子视图”复选标记。现在,相机图像准确地停留在应有的位置。

这是 Storyboard 中属性的屏幕截图:

查看

希望我能帮上忙。

于 2012-10-23T14:03:03.513 回答