Подтвердить что ты не робот

Кнопка Swift Navigation Bar и название не отображаются

Я хотел бы создать панель навигации поверх своего приложения. Я создал контроллер навигации → Контроллер панели вкладок → Контроллер навигации → Контроллер таблиц

  • Я перетащил элемент с баром в верхнюю правую сторону.
  • Я дважды щелкнул заголовок в середине Table Controller и написал текст.
  • Я также пробовал его с помощью этого кода в viewDidLoad() моего контроллера:

    self.navigationController.navigationBar.topItem.title = "some title"
    self.navigationItem.setRightBarButtonItem(UIBarButtonItem(barButtonSystemItem: .Search, target: self, action: "barButtonItemClicked:"), animated: true)
    self.navigationItem.title = "YourTitle"
    

Не работает - что я делаю неправильно?:/

4b9b3361

Ответ 1

Вы можете попробовать что-то вроде этого:

self.title = "Your Title"

var homeButton : UIBarButtonItem = UIBarButtonItem(title: "LeftButtonTitle", style: UIBarButtonItemStyle.Plain, target: self, action: "")

var logButton : UIBarButtonItem = UIBarButtonItem(title: "RigthButtonTitle", style: UIBarButtonItemStyle.Plain, target: self, action: "")

self.navigationItem.leftBarButtonItem = homeButton
self.navigationItem.rightBarButtonItem = logButton

Ответ 2

Я считаю, что вы ищете titleView.

Try:

var navBarTitleView = UIView(frame: CGRectMake(0.0, 0.0, self.view.frame.width, 44.0))
navBarTitleView.backgroundColor = UIColor.brownColor()
self.navigationItem.titleView = navBarTitleView

Ответ 3

Я уверен, что вы можете просто указать заголовок своего контроллера таблицы, в его viewDidLoad, который является заголовком, отображаемым в вашей панели навигации.

этот ответ объясняет несколько иной вопрос, но концепция одинаков:

fooobar.com/questions/64191/...

Ответ 4

если вы хотите установить "UINavigationBar" в соответствии с вашим желанием. Пожалуйста, следуйте этому очень безопасно, так просто на быстром языке, надеюсь, что это вам очень поможет.

ШАГ 1: -

Создать класс категории в стрижа просто пойти на "Новый файл" и добавить "Простой быстры класс„ и дал ему имя “MyCustomNavBarCategory.swift"

ШАГ 2: -

Просто "Очистите класс (удалите весь код из этого класса)" и "Вставьте мой код ниже" : -

//класс начнется из строки ниже. Скопируйте сюда

пусть SCREEN_HEIGHT = UIScreen.mainScreen(). bounds.size.height

import UIKit

расширение UINavigationBar {

//First increase navigation bar height .
override public func sizeThatFits(size: CGSize) -> CGSize {
    NSLog("%f", SCREEN_HEIGHT*0.06);

    let newSize:CGSize = CGSizeMake(self.frame.size.width, SCREEN_HEIGHT*0.10)
    return newSize;
}

//then set layOut of your Custom Nav for several objects like titleview,buttons and all
public override func layoutSubviews() {
   for var view in self.subviews
    {
        NSLog("view %@", view);
        let str :String = view.classForCoder.description();
       if(str == "UILabel")
        {
              //play with title view frame
            var f       = view.frame;
            f.origin.y  = self.frame.size.height/2 - view.bounds.size.height/2  ;
            view.frame  = f;
            view.backgroundColor = UIColor.greenColor();
        }
        else if(str == "UIButton")
        {

             //play with buttons of navigation bar  view frame
            var f = view.frame;
            f.origin.y = (self.frame.size.height/2)  - (view.bounds.size.height/2) ;
            view.frame = f;
            view.backgroundColor = UIColor.greenColor();
        }
    }
}

}

// класс закончится выше, прекратите копировать код на приведенной выше строке и просто запустите это в свой "MyCustomNavBarCategory.swift" . что ему нравится;).

ШАГ 3: - Теперь вы можете установить любой кадр для любого объекта UINavigationBar в этом классе "Это очень мощная категория UINavigationBar, если вы будете выполнять ее осторожно" .