gpt4 book ai didi

ios - PopoverView Controller preferredContentSize 中的问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:05:35 26 4
gpt4 key购买 nike

我想在 preferredContentSize(W: 250, H: 50) 的中心显示 PopoverViewController,但是它显示了那个 ViewController 的全尺寸,请找到我哪里做错了并改正。

class ViewController: UIViewController, 
UIPopoverControllerDelegate, UIPopoverPresentationControllerDelegate {

override func viewDidLoad() {
super.viewDidLoad()

}

@IBAction func PopBtn_Action(_ sender: Any) {

let popController = self.storyboard!.instantiateViewController(withIdentifier: "PincodeViewController") as! PincodeViewController

// set the presentation style
popController.modalPresentationStyle = UIModalPresentationStyle.popover

// set up the popover presentation controller
popController.popoverPresentationController?.permittedArrowDirections = UIPopoverArrowDirection.up
popController.popoverPresentationController?.delegate = self
popController.popoverPresentationController?.sourceView = sender as? UIView // button
popController.popoverPresentationController?.sourceRect = CGRect(x: self.view.bounds.width/2, y: self.view.bounds.height/2, width: 1, height: 1)

popController.preferredContentSize = CGSize(width: 250, height: 250)

// present the popover
self.present(popController, animated: true, completion: nil)

}


func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
return .none
}

func popoverPresentationControllerShouldDismissPopover(popoverPresentationController: UIPopoverPresentationController) -> Bool {
return true
}

func popoverPresentationControllerDidDismissPopover(popoverPresentationController: UIPopoverPresentationController) {

}

最佳答案

在 swift 3 中尝试以下代码。

func toShowPopOver()
{
let popoverContent = self.storyboard!.instantiateViewController(withIdentifier: "PincodeViewController") as! PincodeViewController
popoverContent.modalPresentationStyle = .popover
if let popover = popoverContent.popoverPresentationController {
popover.sourceView = self.view
popover.permittedArrowDirections = UIPopoverArrowDirection.init(rawValue: 0)
popover.sourceRect = CGRect(x: self.view.bounds.width/2, y: self.view.bounds.height/2, width: 1, height: 1)
popoverContent.preferredContentSize = CGSize(width: 50, height: 100)
popover.delegate = self
}

self.present(popoverContent, animated: true, completion: nil)
}


func adaptivePresentationStyle(for controller: UIPresentationController) -> UIModalPresentationStyle {

return UIModalPresentationStyle.none
}

关于ios - PopoverView Controller preferredContentSize 中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45606099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com