UINavigationItem
- 增加了类型为
UIString?
的subtitle
,用于设置标准模式下的导航栏的副标题。 - 增加了类型为
UIString?
的largeTitle
与largeSubtitle
属性,用于设置 prefersLargeTitles 模式下导航栏的标题与副标题。 - 增加了类型为
UIView?
的subtitleView
与largeSubtitleView
属性,用于设置标准与 prefersLargeTitles 模式下导航栏的副标题视图。
案例
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
navigationController?.navigationBar.prefersLargeTitles = true
// iOS26新增
navigationItem.largeTitle = "导航"
navigationItem.largeSubtitle = "子标题"
}
}
效果
UINavigationItem.png
UIBarButtonItem
- 增加了
badge
属性,用于设置角标。 - 增加了
prominent
样式,用于凸显。 - 增加了
fixedSpace()
与flexibleSpace()
方法,用于调整彼此之间的间距。
案例
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .systemGreen
let barButtonItemOne = UIBarButtonItem(barButtonSystemItem: .add, target: self, action: #selector(handleEvent))
let barButtonItemTwo = UIBarButtonItem(barButtonSystemItem: .bookmarks, target: self, action: #selector(handleEvent))
let barButtonItemThree = UIBarButtonItem(barButtonSystemItem: .camera, target: self, action: #selector(handleEvent))
let barButtonItemFour = UIBarButtonItem(barButtonSystemItem: .compose, target: self, action: #selector(handleEvent))
// iOS26新增
barButtonItemOne.badge = .count(10)
// iOS26新增
barButtonItemFour.style = .prominent
// iOS26新增
let fixedSpace = UIBarButtonItem.fixedSpace(20)
let flexibleSpace = UIBarButtonItem.flexibleSpace()
navigationItem.rightBarButtonItems = [barButtonItemOne]
navigationController?.isToolbarHidden = false
toolbarItems = [barButtonItemTwo, fixedSpace, barButtonItemThree, flexibleSpace, barButtonItemFour]
}
@objc func handleEvent(_ sender: UIBarButtonItem) {
view.backgroundColor = .init(red: .random(in: 0 ... 1), green: .random(in: 0 ... 1), blue: .random(in: 0 ... 1), alpha: 1.0)
}
}
效果
UIBarButtonItem.gif