gpt4 book ai didi

像 iPad 弹出窗口一样的 iPhone 弹出菜单?

转载 作者:太空狗 更新时间:2023-10-30 03:08:33 25 4
gpt4 key购买 nike

我如何在 iphone 应用程序中实现这个弹出菜单,就像在 ipad 中实现弹出菜单一样?

alt text


编辑:这是目前最好的:https://github.com/runway20/PopoverView enter image description here

最佳答案

iOS 8 及更高版本

从 iOS 8 开始,您可以使用 UIPopoverPresentationController除 iPad 外,还适用于 iPhone。

enter image description here

设置

  • UIBarButtonItem 添加到您的主视图 Controller 。
  • 将另一个 View Controller 添加到 Storyboard。将其更改为您希望弹出窗口的大小,并添加您希望它具有的任何内容。对于我的示例,我只是添加了一个 UILabel。如果您想要一个完整的菜单,那么只需添加一个表格 View 或按钮列表即可。
  • 从条形按钮项目添加一个 segue 到您将用作弹出窗口的 View Controller 。不要选择 show,而是选择 Present as Popover

enter image description here

  • 在 Storyboard中选择 segue 并将标识符设置为 popoverSegue(或您在代码中调用它的任何字符串)。

enter image description here

  • 在弹出 View Controller 的属性检查器中,选中使用首选显式大小并确认它是您想要的大小。

enter image description here

代码

这是包含条形按钮项目的主视图 Controller 的代码。

class ViewController: UIViewController, UIPopoverPresentationControllerDelegate {

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "popoverSegue" {

let popoverViewController = segue.destinationViewController
popoverViewController.modalPresentationStyle = UIModalPresentationStyle.Popover
popoverViewController.popoverPresentationController!.delegate = self

}
}

// MARK: - UIPopoverPresentationControllerDelegate method

func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {

// Force popover style
return UIModalPresentationStyle.None
}
}

在任意 anchor 弹出

如果您想将弹出窗口设置为出现在条形按钮项目之外的某个地方(例如在 UIButton 上),那么您需要设置 sourceView源矩形。参见 this answer了解详情。

enter image description here

进一步阅读

上面的例子主要来自第一个链接。

关于像 iPad 弹出窗口一样的 iPhone 弹出菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4769169/

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