我见过几个版本较短UINavigationBar
的应用。就像StackOverFlow
iOS应用一样。
我们如何实现这一目标?
答案 0 :(得分:1)
试试这个:
-(void)viewDidLayoutSubviews{
CGRect temp=self.navigationController.navigationBar.frame;
[self.navigationController.navigationBar setFrame:CGRectMake(temp.origin.x, 40, temp.size.width, temp.size.height)];
}
答案 1 :(得分:0)
如果您使用导航栏打开多个应用程序,则双击主页按钮时可以看到您的陈述错误(看到它们排成一行)。
比较Facebook,Whatsapp,YouTube,Pages和Messages,它们的大小都相同。因此,除非它们都缩小到相同的尺寸,否则我会说它们根本没有缩小!
现在最重要的是,我建议您不要过多地“更改”导航栏,因为它是您用户的强大支点,更改它会“令人不安”。根据您的意愿定制它,但有一些限制。
如果你只是想降低它的高度,我想你可以简单地使用导航栏属性:
self.navigationController.navigationBar setFrame:<#(CGRect)#>
或
self.navigationController.navigationBar.frame.size.height = //yourFloatValue.
那应该这样做!
答案 2 :(得分:0)
据我所知,我不相信你可以编辑导航栏的高度(用于UX目的)。但您可以隐藏它并创建自己的自定义视图并将其放在屏幕顶部。
您可以使用此代码隐藏导航栏
self.navigationController.navigationBar.hidden = YES;
并创建自己的自定义视图,如下所示
CGRect barFrame = CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 65);
UIView *customeBar = [[UIView alloc] initWithFrame:barFrame];
[self.view addSubview:customeBar];
UIButton *navButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[navButton addTarget:self action:@selector(aMethod:) forControlEvents:UIControlEventTouchUpInside];
[navButton setTitle:@"" forState:UIControlStateNormal];
[navButton setBackgroundImage:[UIImage imageNamed:@"someImage.png"] forState:UIControlStateNormal];
navButton.frame = CGRectMake(10, 10, 56.0, 56.0);
[customeBar addSubview:navButton];