介绍
- iPadOS26 中的 App 默认拥有类似 macOS 风格的菜单栏。运行之后,通过从屏幕顶部向下滑动调出。
- 除了系统默认的菜单,开发者可以添加自定义菜单。
案例
代码
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
setupMenuBar()
}
func setupMenuBar() {
let config = UIMainMenuSystem.Configuration()
let menuSystem = UIMainMenuSystem.shared
menuSystem.setBuildConfiguration(config) { builder in
let refreshCommand = UIKeyCommand(input: "R", modifierFlags: [.command], action: #selector(self.refreshContent))
refreshCommand.title = "Refresh"
refreshCommand.image = UIImage(systemName: "arrow.clockwise")
builder.insertElements([refreshCommand], beforeMenu: .about)
let sortMenu = UIMenu(title: "Sort", children: [
UICommand(title: "By Name", action: #selector(self.sortByName)),
UICommand(title: "By Kind", action: #selector(self.sortByKind)),
UICommand(title: "By Size", action: #selector(self.sortBySize)),
UICommand(title: "By Date", action: #selector(self.sortByDate))
])
builder.insertSibling(sortMenu, afterMenu: .help)
}
}
@objc func refreshContent() {
view.backgroundColor = .systemRed
}
@objc func sortByName() {
view.backgroundColor = .systemGreen
}
@objc func sortByKind() {
view.backgroundColor = .systemBlue
}
@objc func sortBySize() {
view.backgroundColor = .systemOrange
}
@objc func sortByDate() {
view.backgroundColor = .systemGray
}
}
效果
