Как отключить анимацию 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;
}