ZbarcameraOverlayUIBarItem点击不起作用

发布于 2024-12-23 07:28:18 字数 1606 浏览 3 评论 0原文

我在 iPad 上运行了以下代码,我使用 Zbar 1.2.2 beta 版本来支持 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: 没有被调用,为什么以及如何修复它?

I've following code running on iPad, I'm usin Zbar 1.2.2 beta version for support in 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 does following

- (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];
}

Now my question : closeBarItemPressed: is not getting called, why and how to fix it ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蓝梦月影 2024-12-30 07:28:18

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

I had this problem too. It looks like touches are ignored in the bottom part of the overlay view. Try moving the button a little bit higher and it will work. (in your case if you change toolbar frame to be in the top of the screen, I bet your method will be called, at least this is what happened to me). Not sure why this is happening though.

风吹雨成花 2024-12-30 07:28:18

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

Basically I solved my problem, by recompiling Zbar, with modified iPad settings. Now it works OK.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文