从 navigationItem 中删除项目以编程方式显示 navigationItems 标题
Posted
技术标签:
【中文标题】从 navigationItem 中删除项目以编程方式显示 navigationItems 标题【英文标题】:remove item from navigationItem to display navigationItems title programmatically 【发布时间】:2017-01-19 16:53:27 【问题描述】:我的 NavigationItem 中心有一个 UISegmentedControl。当权限较少的用户登录到应用程序时,segmentedControl 应该被隐藏,而不是显示 navigationItem 的标题。
我尝试使用.isHidden = true,但标题不会显示。
什么是实现这一目标的好方法?当然,如果您以管理员身份注销并登录,您应该会再次看到 segmentedControl。
【问题讨论】:
【参考方案1】:假设 UISegmentedControl 是通过 navItem.titleView 设置的...
override func viewDidLoad()
title = "My Title"
if userHasRights
let segmentedControl = UISegmentedControl()
// Setup segmented control...
navItem.titleView = segmentedControl
在导航项上设置 .titleView 应该覆盖在视图控制器上设置的标题。
【讨论】:
我将segmentedControl通过storyboard放到titleView中。我只是将它拖到更远的顶部,这使得它可以与您的解决方案一起使用谢谢!以上是关于从 navigationItem 中删除项目以编程方式显示 navigationItems 标题的主要内容,如果未能解决你的问题,请参考以下文章
java 以编程方式从菜单中删除项目。 |||链接:https://stackoverflow.com/questions/7133141/android-changing-option-menu-i
如何以编程方式从 SwiftUI 列表中删除行并刷新列表视图?
iOS11 SearchController - 从 navigationItem 中移除 SearchBar 会留下损坏的 UI