2011-12-09 5 views
5

Я начал использовать WEPopoverController, чтобы отобразить некоторые элементы управления после нажатия кнопки UIBarButtonItem на панели инструментов в нижней части экрана. Попсор отображается нормально, а элементы управления внутри popover работают, однако, как только отображается popover, UIBarButtonItem он привязан к исчезновению!WEPopoverController presentPopoverFromBarButtonItem приводит к исчезновению указанного UIBarButtonItem

Вот код для отображения, это довольно просто:

WEPopoverController *wePopover = [[WEPopoverController alloc] initWithContentViewController:audioController]; 
[wePopover setPopoverContentSize:CGSizeMake(200, 150)]; 
[wePopover presentPopoverFromBarButtonItem:voiceButton permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES]; 

Это будет работать, если я использую presentPopoverFromRect, но это не является идеальным решением.

Кто-нибудь сталкивается с этой проблемой раньше?

+0

Вы когда-нибудь решали это? У меня такая же проблема. Кроме того, стрелка никогда не указывает на кнопку правильно. – colincameron

+0

Я не думаю, что мы когда-либо делали. В итоге я просто использовал presentPopoverFromRect: но с тех пор мы изменили наш макет и больше не использовали popover. Удачи. – TylerJames

+0

У меня есть эта ошибка, вот эта проблема на Github: https://github.com/werner77/WEPopover/issues/26 –

ответ

0

Я думаю, проблема связана с классом категории UIBarButtonItem(WEPopover), который реализует
- (CGRect)frameInView:(UIView *)v. Где-то по пути пользовательский вид заполнен, а затем не возвращается в иерархию представлений.
Если вы попытаетесь использовать стандартный barButtonItem (без пользовательского представления), то popover будет отображаться правильно, не скрывая элемент (но это не решение).
В любом случае, представление из rect было решением, которое я использовал.

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