Casi sin código. Construya un controlador de Vista en el guión gráfico, luego haga que una función responda a una selección o botón o algo. La llamada a una función como esta:
func privado presentMyViewController () {
if let controller = storyboard! .instantiateViewController (withIdentifier: “MyViewController”) como? MyViewController {
- ¿En qué debería centrarme más: Ruby on Rails, Objective-C o JavaScript?
- ¿Por qué Apple no tiene una versión de Apple TV del navegador Safari?
- ¿Cómo puedo localizar completamente mi aplicación?
- ¿Por qué la aplicación Highrise para iOS es tan mala?
- ¿Cuál es la diferencia técnica entre "mover" y "deslizar" en iOS o Android?
controller.modalPresentationStyle = .popover
controller.preferredContentSize = CGSize (ancho: 350, alto: 440)
let popController = controller.popoverPresentationController
popController? .permittedArrowDirections = .any
popController? .sourceView = ver
popController? .sourceRect = view.bounds
popController? .delegate = self
present (controlador, animado: verdadero, finalización: nulo)
}
}
Luego debe implementar las funciones de delegado. La primera es si quieres que parezca un popover en un iPhone:
// MARK: Funciones de delegado de Popover Presentation Controller
func adaptivePresentationStyle (para el controlador: UIPresentationController) -> UIModalPresentationStyle {
volver .ninguno
}
func prepareForPopoverPresentation (_ popoverPresentationController: UIPopoverPresentationController) {
imprimir (“prepararse para la presentación”)
}
func popoverPresentationControllerDidDismissPopover (_ popoverPresentationController: UIPopoverPresentationController) {
print (“descartó”)
}
func popoverPresentationControllerShouldDismissPopover (_ popoverPresentationController: UIPopoverPresentationController) -> Bool {
print (“debería descartar”)
volver verdadero
}