如何在xcode中增加导航栏的高度?
我正在开发一个应用程序,其中我需要保留一个导航栏。 当我在酒吧上写任何标题的时候,时间和标题都非常接近。我想增加酒吧的高度,这样可以得到一些喘息的空间。
select你的ViewController – >select你的导航条 – > 提示 – >添加空间它增加 **Navigation bar**
的height
**Navigation bar**
检查图像在这里:
编程方式
将其添加到viewWillAppear或viewDidAppear方法中
Objective-C的
[self.navigationController.navigationBar setFrame:CGRectMake(0, 0, self.view.frame.size.width,80.0)];
迅速
self.navigationController.navigationBar.frame = CGRectMake(0, 0, self.view.frame.size.width, 80.0)
斯威夫特-3
self.navigationController!.navigationBar.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: 80.0)
iOS 11
目标C
for (UIView *subview in self.navigationController.navigationBar.subviews) { if ([NSStringFromClass([subview class]) containsString:@"BarBackground"]) { CGRect subViewFrame = subview.frame; // subViewFrame.origin.y = -20; subViewFrame.size.height = 100; [subview setFrame: subViewFrame]; } }
迅速
for subview in (self.navigationController?.navigationBar.subviews)! { if NSStringFromClass(subview.classForCoder).contains("BarBackground") { var subViewFrame: CGRect = subview.frame // subViewFrame.origin.y = -20; subViewFrame.size.height = 100 subview.frame = subViewFrame } }
此解决scheme不再在XCODE 9.0中工作!
您还可以在不创build自定义导航的情况下增加高度,请遵循以下步骤
步骤1selectStoryboard或XIB中的导航栏
步骤2从Identity Inspector复制ObjectID
步骤3打开Storyboard / XIB作为源代码
步骤4在源代码中查找ObjectID过去在search中的ObjectID
第5步编辑高度! 就这样
我希望这能帮到您
将以下扩展添加到您的项目中:
import UIKit extension UINavigationBar { override open func sizeThatFits(_ size: CGSize) -> CGSize { return CGSize(width: UIScreen.main.bounds.size.width, height: 80.0) } }
这里请参考苹果推荐的扩展导航栏的方法,
https://developer.apple.com/library/content/samplecode/NavBar/Introduction/Intro.html
将其添加到viewWillAppear方法中
CGFloat height = 80; [self.navigationController.navigationBar setFrame:CGRectMake(0, 0, self.view.frame.size.width,height)];
如果它先增加并缩小到原来的高度,然后在viewDidAppear方法中添加此代码
我们需要改变导航栏的高度,每次查看show.So代码viewWillAppear
override func viewWillAppear(_ animated: Bool) { self.navigationController?.navigationBar.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: 80) }
我们可以将宽度设置为视图的宽度,并根据需要更改高度。
我会隐藏导航栏,并自己实现一个自定义的。 这样,你可以完全按照你的想法来devise。
有一个简单的教程如何做到这一点: https : //www.codeschool.com/blog/2014/11/11/ios-app-creating-custom-nav-bar/
苹果build议不要调整navigationBar
本身的大小,但从栏中删除阴影,并添加自定义视图在你的navigationBar
。 这可以适用于大多数情况。 检查苹果的样品。
如果我没有错,就不能更改默认NavigationBar
的高度。
虽然,您可以创build一个自定义的NavigationBar
并为其添加自定义高度。
如果你是
- 使用故事板(你说你是)
- 使用自动布局,和
- 使用手动添加的导航栏(而不是导航控制器提供的导航栏)
那么你可以简单地在导航栏上设置一个高度约束。