HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iphone – 可以在屏幕上移动UIPopoverController吗?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
一旦UIPopovercontroller已经呈现在屏幕上,是否可以将其移动?
   我在我的应用程序中有一个小视图,可以稍微移动,我希望UIPopoverController随身携带,而不必每次移动时重新呈现UIPopoverController.这可能吗?

解决方法

从iOS 9开始,“不推荐使用UIPopoverController.现在将Popovers实现为UIViewController演示.使用UIModalPresentationPopover和UIPopoverPresentationController的模式演示样式.”

使用以下内容呈现弹出窗口.您可以更改sourceRect和sourceView的值,但这不是API行为.

DetailViewController *detailVC = self.detailViewController;
    detailVC.preferredContentSize = CGSizeMake(420,92);
    detailVC.modalPresentationStyle = UIModalPresentationPopover;


    UIPopoverPresentationController *presController = detailVC.popoverPresentationController;
    if (presController) {
        presController.delegate = detailVC;
        presController.barButtonItem = self.detailButton;
        presController.sourceRect = self.view.frame;
        presController.sourceView = self.view;
        presController.permittedArrowDirections = UIPopoverArrowDirectionAny;
    }

    [self presentViewController: detailVC animated:YES completion:^{

    }];

相反,我建议保持对弹出窗口中显示的视图控制器的引用,关闭弹出窗口并重新呈现.

DetailViewController *detailVC = self.detailViewController;
[self dismissViewControllerAnimated:NO completion:^{

    UIPopoverPresentationController *presController = detailVC.popoverPresentationController;
    if (presController) {
        presController.delegate = detailVC;
        presController.barButtonItem = self.detailButton;
        presController.sourceRect = self.view.frame; //Update frame
        presController.sourceView = self.view;
        presController.permittedArrowDirections = UIPopoverArrowDirectionAny;
    }

    [self presentViewController: detailVC animated:NO completion:^{

    }];
}];

大佬总结

以上是大佬教程为你收集整理的iphone – 可以在屏幕上移动UIPopoverController吗?全部内容,希望文章能够帮你解决iphone – 可以在屏幕上移动UIPopoverController吗?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: