希望に応じて「UINavigationBar」を設定したい場合は、これを非常に安全に実行してください。迅速な言語で非常にシンプルです。大いに役立つことを願っています。
ステップ1:-
Swiftでカテゴリクラスを作成するには、「新しいファイル」に進み、 「Simple swift class」を追加して、 「MyCustomNavBarCategory.swift」という名前を付けます
ステップ2:-
「クラスをクリーンアップする(このクラスからすべてのコードを削除する)」と「私の与えるコードを下に貼り付ける」だけです:-
// クラスは下の行 から開始 ここからコピーを開始
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.swift"に貼り付けます。それだけです;)。
ステップ 3:-
これで、このクラスの UINavigationBar の任意のオブジェクトに任意のフレームを設定できます。