WEPopoverController presentPopoverFromBarButtonItem вызывает исчезновение указанного UIBarButtonItem - PullRequest
5 голосов
/ 09 декабря 2011

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

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

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

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

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

1 Ответ

0 голосов
/ 07 октября 2012

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

...