Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 通过编程创建的按钮在iPhone(Swift 3)上弹出_Ios_Iphone_Swift_Swift3 - Fatal编程技术网

Ios 通过编程创建的按钮在iPhone(Swift 3)上弹出

Ios 通过编程创建的按钮在iPhone(Swift 3)上弹出,ios,iphone,swift,swift3,Ios,Iphone,Swift,Swift3,当我点击一个程序创建的按钮时,我正试图让一个弹出框出现在iPhone上。然而,我发现popover正在占据整个屏幕。到目前为止,我已经在popover视图控制器的类中编写了以下代码: import UIKit class GroupSetsPopoverController: UIViewController, UIPopoverPresentationControllerDelegate { override func viewDidLoad() { super.viewDidLo

当我点击一个程序创建的按钮时,我正试图让一个弹出框出现在iPhone上。然而,我发现popover正在占据整个屏幕。到目前为止,我已经在popover视图控制器的类中编写了以下代码:

import UIKit

class GroupSetsPopoverController: UIViewController, UIPopoverPresentationControllerDelegate {

override func viewDidLoad() {
    super.viewDidLoad()

    self.preferredContentSize = CGSize(width: 375, height: 162)
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "infoButtonSegue" {
        let popoverViewController = segue.destination as! GroupSetsPopoverController

        let pvc = popoverViewController.popoverPresentationController
        pvc?.delegate = self

        //popoverViewController.modalPresentationStyle = UIModalPresentationStyle.popover
        //popoverViewController.popoverPresentationController!.delegate = self
    }
}

func adaptivePresentationStyle(for controller: UIPresentationController, traitCollection: UITraitCollection) -> UIModalPresentationStyle {
    return .none
}
}
任何指导都将不胜感激。我试着在这里学习有关堆栈溢出的各种教程和帖子,但都没有效果。

您可以查看和以获取参考。如果GroupSetPopOvercontroller是您的popover视图控制器,则可以执行以下操作:

init(for sender: UIView)) {
    super.init(nibName: nil, bundle: nil)

    modalPresentationStyle = .popover
    guard let pop = popoverPresentationController else { return }
    pop.sourceView = sender
    pop.sourceRect = sender.bounds
    pop.delegate = self
}
您可以查看和以获取参考资料。如果GroupSetPopOvercontroller是您的popover视图控制器,则可以执行以下操作:

init(for sender: UIView)) {
    super.init(nibName: nil, bundle: nil)

    modalPresentationStyle = .popover
    guard let pop = popoverPresentationController else { return }
    pop.sourceView = sender
    pop.sourceRect = sender.bounds
    pop.delegate = self
}

GroupSetPopOvercontroller
popover
viewController
还是
controller
试图呈现一个
popover
viewController
?“接管整个屏幕”,意思是popover显示正常,但背景视图模糊,或者popover没有正确显示,背景视图为黑色?Harry Singh,GroupSetPopover控件是popover视图控制器。Lawliet,popover似乎显示为普通视图控制器,我想在顶部显示文本,视图的其余部分为白色。是
GroupSetPopOvercontroller
popover
视图控制器
还是
控制器
试图显示一个
popover
视图控制器
?通过说“接管整个屏幕”,您的意思是popover显示正常,但是背景视图模糊,或者popover没有正确显示,背景视图是黑色的?Harry Singh,GroupSetPopopOvercontroller是popover视图控制器。Lawliet,popover似乎显示为普通视图控制器,我想在顶部显示文本,视图的其余部分显示为白色。