UipopoverController дублируется по какой -то причине
-
15-10-2019 - |
Вопрос
Очень своеобразная ошибка:
У меня есть Barbuttonitem, который выскакивает вроде uipopovercontroller:
-(void) addNewProjectButtonClicked:(id)sender
{
//Some Preparations....
[popover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
Как и ожидалось, контроллер Popover появляется в нужном месте.
Теперь я ожидаю этого, когда я трогаю В ЛЮБОМ МЕСТЕ За пределами Попотера он уволен.
Что ж, единственная проблема заключается в том, что когда я снова попаду в Гарштон (тот, который появился в Поповере) вместо того, чтобы уволить старый и представлять новый, как я и ожидал, результат - это ЕЩЕ ОДИН Поповер на вершине существующего. Это означает, что когда я снова и снова нажимаю, я получаю кучу попверса, которые можно отклонить только с несколькими щелчками на где -то еще.
Я знаю, что могу использовать какую-то баллонку с моделью дизайна Singleton, чтобы решить это, но разве нет более легкого и встроенного способа позаботиться об этом?
Спасибо!
Решение
Я столкнулся с той же проблемой несколько месяцев назад, подумал, что это увольняется, когда я постучал что-либо Но это не так.
То, как я имею дело с этим, состоит в том, чтобы сохранить ссылку на старый Поповер и отклонить его, когда UIBarButtonItem
нажат.
-(void) addNewProjectButtonClicked:(id)sender
{
[popover dismissPopoverAnimated:YES];
// Set it up again.
[popover ...];
}
Вы можете использовать свойство для удобного управления памятью или обрабатывать его самостоятельно.