swiftimport UIKitclass ViewController: UIViewController { @IBOutlet weak var button: UIButton! override func viewDidLoad() { super.viewDidLoad() } @IBAction func showMenu(_ sender: UIButton) { let alertController = UIAlertController(title: "菜单", message: "请选择一个选项", preferredStyle: .actionSheet) alertController.addAction(UIAlertAction(title: "选项 1", style: .default, handler: { (action) in // 执行选项 1 的操作 })) alertController.addAction(UIAlertAction(title: "选项 2", style: .default, handler: { (action) in // 执行选项 2 的操作 })) alertController.addAction(UIAlertAction(title: "取消", style: .cancel, handler: nil)) if let popoverController = alertController.popoverPresentationController { popoverController.sourceView = button popoverController.sourceRect = button.bounds } present(alertController, animated: true, completion: nil) }}在上面的代码中,我们创建一个 `UIAlertController` 对象来显示弹出菜单。对于 iPhone,我们将 `preferredStyle` 设置为 `.actionSheet`,这样弹出菜单会从底部滑出。对于 iPad,我们还设置了 `popoverPresentationController` 的属性,以便将弹出菜单与按钮关联并在按钮的位置显示弹出菜单。虽然 iPhone 弹出菜单和 iPad 弹出菜单在外观和交互方式上有所不同,但它们都是为了提供用户友好的界面,以便选择可选操作或选项。开发人员可以根据具体的设备和用户界面要求来选择适合的弹出菜单样式。无论是 iPhone 还是 iPad,弹出菜单都是提高用户体验的重要元素。