Ios UIPopoverController未在“上显示”;presentViewController“;
我正在开发iPad应用程序。在此应用程序中,我使用以下代码在presentViewController中显示ViewControllerIos UIPopoverController未在“上显示”;presentViewController“;,ios,objective-c,ipad,popup,Ios,Objective C,Ipad,Popup,我正在开发iPad应用程序。在此应用程序中,我使用以下代码在presentViewController中显示ViewController [自我呈现视图控制器:vc动画:是完成:无] 之后,我在presentviewController中使用UIPopoverController显示弹出窗口,而不忽略“vc”。因此,我遇到以下问题警告:尝试呈现已呈现的内容(空) 这样弹出窗口就不会出现在ViewController上。如何解决这个问题。这是现有的项目,现在我需要解决这个问题 提前感谢您以这种方式
[自我呈现视图控制器:vc动画:是完成:无]代码>
之后,我在presentviewController中使用UIPopoverController显示弹出窗口,而不忽略“vc”。因此,我遇到以下问题警告:尝试呈现已呈现的内容(空)
这样弹出窗口就不会出现在ViewController上。如何解决这个问题。这是现有的项目,现在我需要解决这个问题
提前感谢您以这种方式出席
vc.modalPresentationStyle = UIModalPresentationPopover;
UIPopoverPresentationController *popController = [vc popoverPresentationController];
popController.permittedArrowDirections = UIPopoverArrowDirectionAny;
popController.sourceView = self.view;
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[self presentViewController:vc animated:YES completion:nil];
}];
我认为performSelector调用中的presentViewController将解决您的问题。
试试这两种方法
-(void) present
{
[self performSelector: @selector(ShowSelectionListViewController) withObject: nil afterDelay: 0];
}
-(void) ShowSelectionListViewController
{
[self presentViewController:SelectionListViewController animated: true completion: nil];
}
你应该试试这个。这对我很有用…
if([AppDelegate isIOS8])
{
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.0 * NSEC_PER_SEC)), dispatch_get_main_queue(),
^{[self.popover presentPopoverFromRect:popoverRect
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionUp
animated:YES];});
}
else
{
[self.popover presentPopoverFromRect:popoverRect
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES ];
}
尝试此调度异步(调度获取主队列(),^{[self-presentViewController:vc animated:YES completion:nil];});我两种方法都试过了。但我又遇到了同样的问题