模态视图控制器工具栏的设置项

Posted

技术标签:

【中文标题】模态视图控制器工具栏的设置项【英文标题】:Setting Items For Modal ViewController Toolbar 【发布时间】:2012-01-10 19:55:48 【问题描述】:

我有一个 ViewController,我正在使用模态转换。它有一个工具栏,我在界面生成器中添加了五个项目(包括空格)。我正在尝试从代码中设置按钮,因此当正在编辑此模式 ViewController 中的表格视图时,显示一个“锁定”按钮,当它不编辑时,显示一个“解锁”按钮。

尽管我尝试过,但按钮并没有改变。

我试过了(1 月 13 日更新):

[self setToolbarItems:...animated:true]; // failed
[self.navigationItem setLeftBarButtonItems:... animated:true]; // also failed, though self.navigationItem is not null
[self.parentViewController setToolbarItems:... animated:true];
[self.navigationController setToolbarItems:... animated:true];
[self.tabBarController setToolbarItems:... animated:true];
[self.navigationItem setLeftBarButtonItems:... animated:true];
[self.navigationController.toolbar setItems:

所有这些都失败了。

这个 ViewController 是从另一个 VC(非模态)显示的,它被推送到 NavigationController 上。

我是不是搞错了?

【问题讨论】:

ViewController 的子类是哪个类? 这是一个 UIViewController。 【参考方案1】:

我最终没有更改工具栏中的按钮,而是在Interface Builder中添加了一个按钮并更改了背景图片:

btnLock.image = [UIImage imageNamed:@"lock_open_white_30.png"];

如果您确实需要更改按钮,您可能需要创建所有按钮并在 ViewController 上公开它们,使用 setHidden 隐藏/显示它们。

【讨论】:

以上是关于模态视图控制器工具栏的设置项的主要内容,如果未能解决你的问题,请参考以下文章

选项卡栏项显示具有模态序列的视图控制器

如何设置导航栏的后退项

奇怪的 UINavigationBar 行为?

无法设置模态视图控制器的导航栏颜色

如何在保持导航栏存在的同时以模态方式呈现视图控制器。 (对于设置视图控制器)

iOS - 半透明模态视图控制器