2015-07-10 15 views
5

Próbuję dodać dwie etykiety w miejscu, w którym tytuł jest wyświetlany na pasku nawigacyjnym, ale staram się to zrobić. Byłoby miło, gdybym mógł to osiągnąć za pomocą storyboardu, ale jak widzę, nie mogę tego zrobić.Dostosuj pasek nawigacyjny, dodając dwie etykiety zamiast tytułu w Swift

Jak widziałem, muszę użyć navigationItem, ale nie wiem, jak to dokładnie zrobić. Jeśli ktoś ma jakiś przykład lub ktoś mógłby mi wyjaśnić bardziej szczegółowo, jak to zrobić, byłoby wspaniale.

Muszę wspomnieć, że jestem całkowicie obeznany z Obj-C, więc jakakolwiek pomoc będzie musiała być w Swift.

Odpowiedz

16

Nie jestem pewien, czy można to zrobić z storyboardu, ale jeśli chcesz dodać dwie etykiety tytułów, możesz wykonać następujące czynności w metodzie viewDidLoad() kontrolera widoku, dla którego chcesz mieć dwa tytuły:

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) 
    } 

W ten sposób można dodać dowolną liczbę subviews jak chcesz pasku nawigacyjnym

+0

jeśli u proszę może mi pomóc z dodatkowym pytaniem. Jak mogę dodać ograniczenia do tych etykiet, aby umieścić je w środku poziomo i jedno pod drugim –

+0

Etykiety @vdawg dopasowują się do siebie ... plz mówi nam, jak wyrównać etykiety jeden nad drugim – Bevan

+1

@Bevan możesz po prostu zmienić właściwości firstFrame 'i secondFrame w celu dostosowania ramek etykiet niech firstFrame = CGRect (x: 0, y: 0, szerokość: nawigacjaBar.frame.width, wysokość: nawigacjaBar.frame.height/2) niech secondFrame = CGRect (x: 0, y: navigationBar.frame.height/2, width: navigationBar.frame.width, height: navigationBar.frame.height/2) – vdawg

Powiązane problemy