从 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 标题的主要内容,如果未能解决你的问题,请参考以下文章