0

我跟踪在 iPad 上运行的代码,我正在使用 Zbar 1.2.2 测试版来支持 iPad。

ZBarReaderViewController* mReader = [[ZBarReaderViewController alloc] init];
mReader.readerDelegate = self;
mReader.showsZBarControls = NO;
mReader.wantsFullScreenLayout = NO;
mReader.readerView.frame = CGRectMake(0, 0, UIScreen.mainScreen.bounds.size.width, UIScreen.mainScreen.bounds.size.height);
UIButton *imageView = [[UIButton alloc] init];
imageView.frame = CGRectMake(0, 0, UIScreen.mainScreen.bounds.size.width, UIScreen.mainScreen.bounds.size.height);
[self setupToolBar:imageView];
mReader.cameraOverlayView = imageView;

setupToolBar跟随

- (void)setupToolBar:(UIButton*)imageView
{
    [imageView retain];
    UIToolbar* imagePickerToolBar = [[UIToolbar alloc] init];

    UIImage *c = [UIImage imageNamed:@"close.png"];
    UIBarButtonItem *closeItem = [[UIBarButtonItem alloc] initWithImage:c style:UIBarButtonItemStylePlain target:self action:@selector(closeBarItemPressed:)];
    NSArray *items = [NSArray arrayWithObjects: closeItem, nil];

    [imagePickerToolBar setItems:items animated:NO];

    imagePickerToolBar.frame = CGRectMake(0, UIScreen.mainScreen.bounds.size.height - imagePickerToolBar.frame.size.height, imagePickerToolBar.frame.size.width, imagePickerToolBar.frame.size.height); 

    [imageView addSubview:imagePickerToolBar];
    [imageView bringSubviewToFront:imagePickerToolBar];

    [imagePickerToolBar release];
    [closeItem release];    
    [imageView release];
}

现在我的问题:closeBarItemPressed:没有被调用,为什么以及如何解决它?

4

2 回答 2

1

我也有这个问题。看起来在覆盖视图的底部忽略了触摸。尝试将按钮移高一点,它会起作用。(在您的情况下,如果您将工具栏框架更改为位于屏幕顶部,我敢打赌您的方法将被调用,至少这是发生在我身上的事情)。不知道为什么会这样。

于 2011-12-28T15:51:29.217 回答
0

基本上我通过修改 iPad 设置重新编译 Zbar 解决了我的问题。现在它工作正常。

于 2011-12-30T06:22:22.407 回答