5

Я пытаюсь добавить две метки в том месте, где заголовок отображается в навигационной панели, но я изо всех сил стараюсь это сделать. Было бы очень приятно, если бы я мог добиться этого с помощью раскадровки, но, как я вижу, я не могу этого сделать.Настроить навигационную панель, добавив две метки вместо названия в Swift

Как я уже видел, мне нужно использовать navigationItem, но я не знаю, как именно это сделать. Если у кого-нибудь есть какой-то пример или кто-нибудь может объяснить мне более конкретно, как это сделать, было бы замечательно.

И я должен упомянуть, что я совершенно не знаком с Obj-C, поэтому любая помощь должна быть в Swift.

ответ

16

Я не уверен, что вы можете сделать это из раскадровки, но если вы хотите добавить два ярлыка заголовка, вы можете сделать следующее в методе 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) 
    } 

Таким образом, вы можете добавить столько подвидов, как вы хотите, чтобы на панели навигации

+0

если и пожалуйста, может мне помочь с дополнительным вопросом. Как я могу добавить ограничения для этих меток, чтобы они были размещены по центру горизонтально, а один под другим - –

+0

Знаки @vdawg выравниваются по спине ... plz расскажите нам, как выравнивать метки друг над другом – Bevan

+1

@Bevan вы можете просто изменить свойства firstFrame 'и secondFrame для настройки фреймов меток let firstFrame = CGRect (x: 0, y: 0, width: navigationBar.frame.width, height: navigationBar.frame.height/2) let secondFrame = CGRect (x: 0, y: navigationBar.frame.height/2, ширина: navigationBar.frame.width, высота: навигацияBar.frame.height/2) – vdawg