Как отключить анимацию UIPopoverController?

Я добавил popOvercontroller по нажатию правой кнопки панели навигации. Я не хочу эффекта анимации. Кто-нибудь может сказать мне, как его отключить???

3 ответа

Решение

Как ты это делаешь? в документе упоминается presentPopoverFromBarButtonItem:permittedArrowDirections:animated: - звучит как идеальный ответ на ваш вопрос.

Есть две части к этому. Использование presentPopoverFromBarButtonItem:mittedArrowDirections:animated:NO или presentPopoverFromRect: разрешено ArrowDirections: animated: NO для представления всплывающего окна предотвратит "появление" анимации. Чтобы отключить отключение "исчезновения", мне пришлось добавить это к делегату:

- (BOOL) popoverControllerShouldDismissPopover:(UIPopoverController *)popover {
    // Any cleanup code (popoverControllerDidDismissPopover won't be called)

    [popover dismissPopoverAnimated:NO];
    return NO;
}

Btw. если вы показываете поповер из табличного представления, вы захотите анимировать отмену выбора строки в то же время, когда всплывающее окно отклоняется. Для этого вы можете использовать:

- (BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popover {
    [self.tableView deselectRowAtIndexPath:[self.tableView indexPathForSelectedRow] animated:YES];
    [popover dismissPopoverAnimated:YES];
    return NO;
}
Другие вопросы по тегам