我正在尝试使用一个大的加号按钮作为右键按钮,下面的代码在故事板中工作,但在将所有内容移动到xib文件和单独的.swift文件后,这是唯一破坏的东西。
let button = UIButton(type: .Custom)
button.setTitle("+", forState: .Normal)
button.titleLabel?.font = UIFont.systemFontOfSize(20.0)
button.frame = CGRectMake(0, 0, 100, 40)
self.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: button)
self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "+", style: .Plain, target: self, action: #selector(GroupNavViewController.onCreate))
self.navigationItem.rightBarButtonItem?.setTitleTextAttributes([NSFontAttributeName:UIFont.systemFontOfSize(40)], forState: .Normal)
UINavigationController是它自己的.swift文件,没有xib文件。
我无法弄清楚它在故事板中的工作原理,但现在却没有。
理想情况下,我想要一个大的加号按钮(正常的字体大小似乎有点太小)
答案 0 :(得分:1)
UINavigationController是它自己的.swift文件,没有xib文件。
在UIViewController类中创建此Button,而不是在UINavigationController中。所以将相同的代码移动到你的UIViewController。
答案 1 :(得分:1)
对我有用。我刚刚摆脱目标行动,所以我不必实施它。都在代码中完成。没有故事板和没有xib。
<强> AppDelegate.swift 强>
var window: UIWindow?
let viewController = ViewController();
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let navigationController = UINavigationController(rootViewController:viewController)
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
self.window!.backgroundColor = UIColor.whiteColor()
self.window!.rootViewController = navigationController
self.window!.makeKeyAndVisible()
return true
}
<强> ViewController.swift 强>
override func viewDidLoad() {
super.viewDidLoad()
let button = UIButton(type: .Custom)
button.setTitle("+", forState: .Normal)
button.titleLabel?.font = UIFont.systemFontOfSize(20.0)
button.frame = CGRectMake(0, 0, 100, 40)
self.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: button)
self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "+", style: .Plain, target: self, action: nil)
self.navigationItem.rightBarButtonItem?.setTitleTextAttributes([NSFontAttributeName:UIFont.systemFontOfSize(40)], forState: .Normal)
}