为什么UINavigationBar
的items
属性是数组?谁能详细解释一下这个类和它的属性?
考虑以下代码:
let item = UINavigationItem()
item.leftBarButtonItem = backButton
navBar.items?.append(item)
有多个UINavigationItem
的目的是什么?看来我只需要一个UINavigationItem
。我主要是在创建自己的UINavigationBar
与使用UINavigationController
的背景下思考。
我已经读过文档了,它一点帮助都没有:
底部项的索引为0,后面项的索引为n-2,顶部项的索引为n-1,其中n为数组中的项数。
你看的东西你根本不应该看!
UINavigationBar维护一个UINavigationItems的栈。它们被推入和弹出到工具条上,工具条会相应地改变它的界面。
但在现实生活中,你永远不会那样做,因为你会使用UINavigationController而它会执行push和弹出。你把一个视图控制器推到UINavigationController上,UINavigationController把相应的UINavigationItem推到UINavigationBar上。从来没有人使用"UINavigationBar,直接进行推送和弹出。如果你想,你可以,但你永远不会。