ios - 通过在 Swift 中添加两个标签而不是标题来自定义导航栏

标签 ios swift uinavigationcontroller uilabel uinavigationitem

我想在导航栏中显示标题的地方添加两个标签,但我很难这样做。如果我能用 Storyboard实现这一点,那就太好了,但正如我所见,我做不到。

正如我所看到的,我需要使用 navigationItem,但我不知道该怎么做。如果有人有任何示例,或者如果有人可以更具体地向我解释如何这样做,那就太好了。

而且我需要说明的是,我完全不熟悉 Obj-C,因此任何帮助都需要使用 Swift。

最佳答案

我不确定你是否可以从 Storyboard 中做到这一点,但如果你想添加两个标题标签,你可以在 View Controller 的 viewDidLoad() 方法中执行以下操作你想要两个标题:

if let navigationBar = self.navigationController?.navigationBar {
    let firstFrame = CGRect(x: 0, y: 0, width: navigationBar.frame.width/2, height: navigationBar.frame.height)
    let secondFrame = CGRect(x: navigationBar.frame.width/2, y: 0, width: navigationBar.frame.width/2, height: navigationBar.frame.height)

    let firstLabel = UILabel(frame: firstFrame)
    firstLabel.text = "First"

    let secondLabel = UILabel(frame: secondFrame)
    secondLabel.text = "Second"

    navigationBar.addSubview(firstLabel)
    navigationBar.addSubview(secondLabel)
}

通过这种方式,您可以向导航栏添加任意数量的 subview

关于ios - 通过在 Swift 中添加两个标签而不是标题来自定义导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31351307/

相关文章:

ios - 检查特定用户名是否存在于 KeyChain 如果不存在则使用密码 ios objective-c 存储新用户

swift - UILabel 在 Swift 2 中抛出 Thread1 : EXC_BAD_ACCESS (code=1, 地址 0x…)

ios - ScrollView - 手势识别器 - 垂直滑动

ios - 仅显示一个位置权限警报

iphone - UITextView 中的下划线文本

ios - 表格 View 单元格中复杂 View 的自动布局

iphone - 应用程序应该在应用程序启动结束时在控制台中显示一个 Root View Controller

ios - UITableView 中缺少 UINavigationBar

ios - 为什么导航 Controller 在 - (BOOL)shouldPerformSegueWithIdentifier : is implemented? 时不工作

ios - Segue 和导航 Controller 交互