Ios 通过编程创建的按钮在iPhone(Swift 3)上弹出
当我点击一个程序创建的按钮时,我正试图让一个弹出框出现在iPhone上。然而,我发现popover正在占据整个屏幕。到目前为止,我已经在popover视图控制器的类中编写了以下代码: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
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似乎显示为普通视图控制器,我想在顶部显示文本,视图的其余部分显示为白色。