<small id='zZarP'></small><noframes id='zZarP'>

    • <bdo id='zZarP'></bdo><ul id='zZarP'></ul>

        <tfoot id='zZarP'></tfoot>
        <i id='zZarP'><tr id='zZarP'><dt id='zZarP'><q id='zZarP'><span id='zZarP'><b id='zZarP'><form id='zZarP'><ins id='zZarP'></ins><ul id='zZarP'></ul><sub id='zZarP'></sub></form><legend id='zZarP'></legend><bdo id='zZarP'><pre id='zZarP'><center id='zZarP'></center></pre></bdo></b><th id='zZarP'></th></span></q></dt></tr></i><div id='zZarP'><tfoot id='zZarP'></tfoot><dl id='zZarP'><fieldset id='zZarP'></fieldset></dl></div>
      1. <legend id='zZarP'><style id='zZarP'><dir id='zZarP'><q id='zZarP'></q></dir></style></legend>

      2. 如何快速居中弹出视图

        时间:2023-05-16

        • <legend id='PXMSB'><style id='PXMSB'><dir id='PXMSB'><q id='PXMSB'></q></dir></style></legend>
            <bdo id='PXMSB'></bdo><ul id='PXMSB'></ul>

                <tbody id='PXMSB'></tbody>

              • <small id='PXMSB'></small><noframes id='PXMSB'>

              • <i id='PXMSB'><tr id='PXMSB'><dt id='PXMSB'><q id='PXMSB'><span id='PXMSB'><b id='PXMSB'><form id='PXMSB'><ins id='PXMSB'></ins><ul id='PXMSB'></ul><sub id='PXMSB'></sub></form><legend id='PXMSB'></legend><bdo id='PXMSB'><pre id='PXMSB'><center id='PXMSB'></center></pre></bdo></b><th id='PXMSB'></th></span></q></dt></tr></i><div id='PXMSB'><tfoot id='PXMSB'></tfoot><dl id='PXMSB'><fieldset id='PXMSB'></fieldset></dl></div>

                1. <tfoot id='PXMSB'></tfoot>
                  本文介绍了如何快速居中弹出视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  限时送ChatGPT账号..

                  我有以下代码来显示没有箭头的弹出视图(对话框),效果很好.唯一的问题是,对话框显示在左上角(iPad).我想在屏幕上居中显示视图.

                  I have the following code to show a popoverview (dialog) without an arrow, which works fine. The only problem is, that the dialog is shown in the top left (IPad). I would like to center the view on the screen.

                  在我的以下代码中要更改或添加什么?:

                  What to change or add in my following code ? :

                  func show_help(){
                  
                  
                      let storyboard = UIStoryboard(name: "Main", bundle: nil)
                      let controller = storyboard.instantiateViewControllerWithIdentifier("Help") as! UIViewController
                  
                      controller.modalPresentationStyle = UIModalPresentationStyle.popover
                  
                      let popoverPresentationController = controller.popoverPresentationController
                  
                      // result is an optional (but should not be nil if modalPresentationStyle is popover)
                      if let _popoverPresentationController = popoverPresentationController {
                  
                          // set the view from which to pop up
                          _popoverPresentationController.sourceView = self.view;
                          _popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirection.allZeros;
                          // present (id iPhone it is a modal automatic full screen)
                          self.presentViewController(controller, animated: true, completion: nil)
                      }
                  
                  }
                  

                  其他信息

                  在我的视图中,它链接到我的视图控制器,我将首选大小设置为:

                  In my view, which is linked to my viewcontroller I set the preffered size like this:

                  override func viewDidLoad() {
                          let dialogheigth:CGFloat = self.view.frame.height * 0.5;
                          let dialogwidth:CGFloat = self.view.frame.width * 0.5;
                          self.preferredContentSize = CGSizeMake(dialogwidth,dialogheigth);
                  }
                  

                  推荐答案

                  需要提供弹出框的源代码.

                  You need to provide the source rect for the popover.

                  来自苹果文档:源矩形是指定视图中用于锚定弹出框的矩形.将此属性与 sourceView 属性结合使用以指定弹出框的锚点位置.

                  在你的情况下,在

                  _popoverPresentationController.sourceView = self.view;
                  

                  添加:

                  _popoverPresentationController.sourceRect = CGRectMake(CGRectGetMidX(self.view.bounds), CGRectGetMidY(self.view.bounds),0,0)
                  

                  它会成功的!

                  这篇关于如何快速居中弹出视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:如何在 Swift 中的当前视图上呈现模态 下一篇:在两个 ViewController(委托)之间传递数据 - Swift

                  相关文章

                    <bdo id='GuJDo'></bdo><ul id='GuJDo'></ul>
                2. <i id='GuJDo'><tr id='GuJDo'><dt id='GuJDo'><q id='GuJDo'><span id='GuJDo'><b id='GuJDo'><form id='GuJDo'><ins id='GuJDo'></ins><ul id='GuJDo'></ul><sub id='GuJDo'></sub></form><legend id='GuJDo'></legend><bdo id='GuJDo'><pre id='GuJDo'><center id='GuJDo'></center></pre></bdo></b><th id='GuJDo'></th></span></q></dt></tr></i><div id='GuJDo'><tfoot id='GuJDo'></tfoot><dl id='GuJDo'><fieldset id='GuJDo'></fieldset></dl></div>

                3. <small id='GuJDo'></small><noframes id='GuJDo'>

                      <tfoot id='GuJDo'></tfoot>
                    1. <legend id='GuJDo'><style id='GuJDo'><dir id='GuJDo'><q id='GuJDo'></q></dir></style></legend>