2011-12-28 2 views
0

У меня есть код, работающий на iPad, я - бета-версия usin Zbar 1.2.2 для поддержки iPad.Zbar cameraOverlay UIBarItem клик не работает

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: не вызывался, почему и как это исправить?

+0

Можете ли вы добавить свой метод closeBarItemPressed:? – Cyprian

+0

Я просто NSLog-там ничего особенного ... – deimus

ответ

1

У меня тоже была эта проблема. Похоже, что штрихи игнорируются в нижней части окна наложения. Попробуйте немного сдвинуть кнопку, и она будет работать. (в вашем случае, если вы измените рамку панели инструментов в верхней части экрана, я уверен, ваш метод будет вызван, по крайней мере, это то, что случилось со мной). Не знаю, почему это происходит.

+0

Помещение рамки панели инструментов выше не помогло ... – deimus

+0

Фактически область экрана, которая обрабатывает касания, соответствует экрану iPhone, поэтому он не обрабатывает штрихи ниже этой области ... – deimus

+0

Кажется, это ошибка внутри Zbar ... – deimus

0

В основном я решил свою проблему, перекомпилировав Zbar, с измененными настройками iPad. Теперь он работает нормально.

Смежные вопросы