Transparent UIPopover

前端 未结 5 1322
野的像风
野的像风 2020-12-06 13:11

Is there a way to make the UIPopOver transparent (alpha = 0.75 or so). Unfortunately there is no alpha property for UIPopOver. I need to present a popover so that the view b

5条回答
  •  一生所求
    2020-12-06 13:45

    Starting with iOS5.0, one can provide a custom background for the UIPopoverController. That background has to be derived from UIPopoverBackgroundView which does provide the normal UIView properties like alpha. Note that the name is a bit confusing - the UIPopoverBackgroundView provides the frame-, the arrow- as well as the background-graphics.

    So if you need an entirely semi-transparent UIPopoverController, all you have to do is supply a UIPopoverBackgroundView class which sets its alpha towards something below 1.0. You will also need to make sure that your contentViewController's view is (fully) transparent.

    Example:

    enter image description here


    For details, see the popoverBackgroundViewClass property of UIPopoverController:

    popoverBackgroundViewClass
    

    The class to use for displaying the popover background content.

    @property (nonatomic, readwrite, retain) Class popoverBackgroundViewClass
    

    Discussion

    The default value of this property is nil, which indicates that the popover controller should use the default popover appearance. Setting this property to a value other than nil causes the popover controller to use the specified class to draw the popover’s background content. The class you specify must be a subclass of UIPopoverBackgroundView.

    Availability Available in iOS 5.0 and later. Declared In UIPopoverController.h

提交回复
热议问题