Ответ 1
Все, что вам нужно сделать, это использовать свойство popover barButtonItem.
Итак, правильный код для поддержки ActivityViewController или UIAlertController на iPad:
popover.barButtonItem = self.navigationItem.rightBarButtonItem;
Еще один пример полной поддержки iPad с UIAlertController (но точно так же работает с ActivityViewController):
UIPopoverPresentationController *popover = alert.popoverPresentationController;
if (popover)
{
popover.barButtonItem = self.navigationItem.rightBarButtonItem;
popover.permittedArrowDirections = UIPopoverArrowDirectionUp;
}
[self presentViewController:alert animated:YES completion:nil];
Swift 4.2
if let popover = alert.popoverPresentationController {
popover.barButtonItem = self.navigationItem.rightBarButtonItem
popover.permittedArrowDirections = .up
}
self.present(alert, animated: true, completion: nil)