アプリの上にナビゲーションバーを作成したいと思います。 Navigation Controller-> Tab Bar Controller-> Navigation Controller-> 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"
うまくいかなかった-私は何を間違えているのか? :/
次のようなものを試すことができます:
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
titleView
を探していると思います。
試してください:
var navBarTitleView = UIView(frame: CGRectMake(0.0, 0.0, self.view.frame.width, 44.0))
navBarTitleView.backgroundColor = UIColor.brownColor()
self.navigationItem.titleView = navBarTitleView
ナビゲーションバーに表示されるタイトルであるviewDidLoadで、テーブルコントローラーのタイトルを設定することができると確信しています。
この答えは少し異なる質問を説明していますが、概念は同じです:
"UINavigationBar"を希望に応じて設定する場合は、これを非常に安全に実行してください。Swift =言語、それはあなたをたくさん助けることを願っています。
ステップ1:-
Swiftただ進む "新しいファイル"でカテゴリクラスを作成し、追加 "Simple Swift class"および名前 "MyCustomNavBarCategory.Swift"
ステップ2:-
Just "クラスをクリーンアップ(このクラスからすべてのコードを削除)"および "以下のコードを貼り付け":-
// classは下の行から開始しますここからコピーを開始します
let SCREEN_HEIGHT = UIScreen.mainScreen()。bounds.size.height
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。スイフト」。それは楽しみです;)。
STEP 3:-これで、このクラスのUINavigationBarの任意のオブジェクトに任意のフレームを設定できます」これは非常に強力なカテゴリですUINavigationBarを慎重に実装する場合」。