presentViewController不隐藏弹出框,弹出窗口出现在呈现的模态视图上

时间:2015-03-05 03:48:46

标签: ios objective-c iphone uipopovercontroller presentviewcontroller

我面对这个奇怪的问题,我从视图上的按钮呈现弹出窗口。后来我调用presentViewController,而没有解除弹出窗口。视图以模态呈现。奇怪的是,模态视图不包括弹出窗口,弹出窗口出现在模态视图的顶部。我在iPad Retina,iOS 7.1上。在附图中,紫色视图是模态视图,蓝色视图是弹出视图。如果有人经历过痛苦并解决了,请帮忙。提前谢谢。

提供popover的代码 -

[self.pop presentPopoverFromRect:[sender frame]
                 inView:[self.navigationController view]
                    permittedArrowDirections:UIPopoverArrowDirectionAny
                                    animated:YES];

提供模态视图的代码 -

[self presentViewController:anotherVC animated:YES completion:nil];

enter image description here

3 个答案:

答案 0 :(得分:0)

违规行似乎是[self.navigationController视图]。为什么不做self.view?或者如果该行是必须的,请执行[self.navigationController presentViewController ...

答案 1 :(得分:0)

API说这个" popover仍然可见,直到用户点击弹出窗口之外或你明确地忽略它。"。如果您使用UIPopoverController我认为没有办法解决这个问题。

UIPopoverController Class Reference

答案 2 :(得分:0)

解决了这一点。我说

而不是调用presentViewCOntroller
[UIView transitionWithView:self.view duration:0.5
    options:UIViewAnimationOptionTransitionFlipFromBottom 
    animations:^ { [self.view addSubview:anotherVC]; }
    completion:nil];