UIPopoverPresentationController displaying popover as full screen

前端 未结 6 2066
小蘑菇
小蘑菇 2020-12-24 12:24

I am trying to use UIPopoverPresentationController to display a popover that doesn\'t take up the whole screen. I\'ve followed many different tutor

6条回答
  •  不知归路
    2020-12-24 12:41

    The accepted answer is correct. For completeness, see Adapting Presented View Controllers to a New Style in the Apple docs:

    Use the delegate’s adaptivePresentationStyleForPresentationController: method to specify a different presentation style than the default. When transitioning to a compact environment, the only supported styles are the two full-screen styles or UIModalPresentationNone. Returning UIModalPresentationNone tells the presentation controller to ignore the compact environment and continue using the previous presentation style. In the case of a popover, ignoring the change gives you the same iPad-like popover behavior on all devices.

    Make sure that the required configurations from Presenting a View Controller in a Popover are met:

    After setting the modal presentation style [of the presented view controller] to UIModalPresentationPopover, configure the following popover-related attributes:

    • Set the preferredContentSize property of your view controller to the desired size.
    • Set the popover anchor point using the associated UIPopoverPresentationController object, which is accessible from the view controller’s popoverPresentationController property.
    • Set only one of the following:
      • Set the barButtonItem property to a bar button item.
      • Set the sourceView and sourceRect properties to a specific region in one of your views.

提交回复
热议问题