Вопрос

Очень своеобразная ошибка:

У меня есть 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 ...];
}

Вы можете использовать свойство для удобного управления памятью или обрабатывать его самостоятельно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top