如何增加UINavigationBar的高度?

时间:2014-12-06 03:56:32

标签: ios user-interface ios7 ios8 uinavigationbar

简单的问题:我如何增加导航栏的高度,以便在保持模糊的同时适合其他小部件?

示例是日历应用,其中工作日缩写添加到导航栏的底部...

Calendar app

...当您将邮件移动到其他文件夹时,在Mail中:

Mail app

3 个答案:

答案 0 :(得分:5)

由于iAnurag帖子ans是正确的,但仍有一些问题(宽度不合适)

<小时/> 您可以通过添加如下所示的类别来改变尺寸

示例项目
Download

<强>代码

#import "ViewController.h"
@implementation UINavigationBar (customNav)
- (CGSize)sizeThatFits:(CGSize)size {
    CGRect rec = self.frame;
    CGRect screenRect = [[UIScreen mainScreen] bounds];
    rec.size.width = screenRect.size.width;
    rec.size.height = 70;
    return rec.size;
}
@end

<强>输出
enter image description here
When press on "Button" enter image description here

<小时/> iAnurag代码中的问题
enter image description here

答案 1 :(得分:5)

https://developer.apple.com/library/prerelease/content/samplecode/NavBar/Introduction/Intro.html

来自ReadMe.md:

  扩展导航栏####此示例演示如何以视图的方式在导航栏下方放置自定义视图      

似乎是导航栏本身的一部分。这种技术可能   用于创建类似于iOS日历应用程序的界面。

我不谦虚的意见:不要覆盖sizeThatFits(_:),不要设置导航栏高度的限制。从上面的例子中做出错觉。

答案 2 :(得分:0)

使用自定义sizeThatFits创建UINavigationBar类别。

@implementation UINavigationBar (customNav)
- (CGSize)sizeThatFits:(CGSize)size  
{
  CGSize newSize = CGSizeMake(self.frame.size.width,70);
  return newSize;
}
@end