以编程方式添加的工具栏项在iOS Swift 4中未显示。

3
我将尝试通过编程的方式向工具栏添加barButtonItem,但除了工具栏本身外,没有任何项目显示出来。
到目前为止,我的代码如下:
self.navigationController?.setToolbarHidden(false, animated: false)
var items = [UIBarButtonItem]()

items.append(
     UIBarButtonItem(barButtonSystemItem: .bookmarks, target: nil, action: nil)
)

self.navigationController?.toolbar.setItems(items, animated: false)

enter image description here


self.navigationController 是否已设置? - undefined
我的应用程序嵌入在导航控制器中。 - undefined
工具栏显示但项目不显示。 - undefined
我只使用过self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .bookmarks, target: nil, action: nil)来完成它。 - undefined
我想要添加到工具栏而不是导航栏。 - undefined
3个回答

1

你的代码没问题,但是toolbarItems为空。所以你需要这样做:

self.toolbarItems = items

代替

self.navigationController?.toolbar.setItems(items, animated: false)

是的,我明白了,谢谢。self.setToolbarItems(items, animated: false) - undefined

0
这取决于你何时调用这段代码,在你的UIViewController子类的init()中调用时,navigationController尚未设置。然而,如果在viewDidLoad中调用它,则navigationController将被设置好。

当你使用print()打印self.navigationController时,你会得到一个值吗? - undefined

-1
如果你想要“设置项目”(例如带有动画效果):
self.setToolbarItems(items, animated: true)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接