如果您想根据自己的意愿设置您的"UINavigationBar",请按照以下步骤进行操作,使用Swift语言非常简单,希望能对您有所帮助。
步骤1:
在Swift中创建一个分类类,只需点击"新文件"并添加"简单的Swift类",并将其命名为"MyCustomNavBarCategory.swift"。
步骤2:
只需"清空该类(从该类中删除所有代码)"并"粘贴下面给出的代码":
//类将从下面一行开始 从这里开始复制
let SCREEN_HEIGHT = UIScreen.mainScreen().bounds.size.height
import UIKit
extension UINavigationBar {
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;
}
public override func layoutSubviews() {
for var view in self.subviews
{
NSLog("view %@", view);
let str :String = view.classForCoder.description();
if(str == "UILabel")
{
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")
{
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"中即可。就这样享受吧;).
第三步:-
现在,您可以在此类中为UINavigationBar的任何对象设置任何框架"如果您小心实施,它是非常强大的UINavigationBar类别"。