I would suggest adding the popover as a subview to the application's keyWindow so that it is above everything. This is likely the expected behavior to the user. Something like:
- (void)setPopoverVisible:(BOOL)visible {
if (visible) {
[self.popover removeFromSuperview];
UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
[keyWindow addSubview:self.popover];
}
[UIView animateWithDuration:0.15
delay:0
options:UIViewAnimationOptionBeginFromCurrentState | UIViewAnimationOptionCurveEaseInOut
animations:^{
self.popover.alpha = (visible ? 1 : 0);
}
completion:^(BOOL finished) {
if (!visible) {
[self.popover removeFromSuperview];
}
}];
}
Remember when positioning the popover to convert the rect or point (whatever you use to position the slider) to the keyWindow's bounds. For example:
- (void)positionPopover {
// Calculate newPopoverCenter in self.bounds
UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
self.popover.center = [self convertPoint:newPopoverCenter toView:keyWindow];
}