Effect:
To successfully display a UIPopoverController, follow these steps:
Because UIPopoverController directly inherits from NSObject and does not have visualization capabilities, the content above UIPopoverController must be provided by another controller inherited from UIViewController. This is called "content controller"
@interfaceQCLocationButton() <UIPopoverControllerDelegate> UIPopoverController * }
QCCityListViewController *cityList = _popover = [[UIPopoverController alloc] initWithContentViewController:cityList];
How much screen space is displayed
There are two ways to set the content size:
_popover.popoverContentSize = CGSizeMake(, );
From where
You can set the display position in either of the following ways:
This method needs to pass in a CGRecView, that is to say, the CGRect value of the coordinate origin (0, 0) in the upper left corner of the View is relative to the first method:
(2) The second method is:
The arrow points to a UIBarButtonItem.
If the screen of the iPad is rotated and the position displayed by UIPopoverController may change, you need to rewrite a method of the controller.
In the preceding method, override the position displayed by UIPopoverController.
[_popover presentPopoverFromRect:self.bounds inView:self permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];