gpt4 book ai didi

iphone - 如何更改导航栏高度

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:56:26 28 4
gpt4 key购买 nike

这个问题困扰了我一天多。我需要修改 UINavigationBar 的高度。

UINavigationController 是这样在 AppDelegate 中创建的。

self.navigationController = [[UINavigationController alloc] initWithRootViewController:mainController];
[self.window addSubview:self.navigationController.view];
[self.window makeKeyAndVisible];

如果我将 [self.navigationController.navigationBar setFrame:newFrame] 添加到 viewDidAppear 中,导航栏的高度将会改变并保持不变,如下面的代码。

- (void)viewWilAppear:(BOOL)animated
{
[super viewWillAppear:animated];
CGRect newFrame = CGRectMake(0, 0, 320, 100);
[self.navigationController.navigationBar setFrame:newFrame]
}

但是,如果我这样做,您实际上可以看到框架在 View 加载的瞬间从原来的 44 像素变为 100 像素的高度,这非常烦人。

我已经尝试将 [navBar setFrame:] 添加到 rootViewController 的 viewDidloadviewWillAppear 以及刚启动 UINavigationController 后的 AppDelegate。这些都不起作用。

如你所知,我已经使用下面的代码重写了 UINavigationBar 类别中的 drawRect:(CGRect)rect 方法,使背景色变为纯黑色,但我认为这与问题无关。

[[UIColor blackColor] set];
CGContextFillRect(UIGraphicsGetCurrentContext(), rect);

有谁知道最好的方法吗?

最佳答案

“如果您需要提供更多控件,或者您不需要启用导航,请使用工具栏而不是导航栏。” - 来自 iOS Human Interface Guidelines在导航栏/指南下。

关于iphone - 如何更改导航栏高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6590691/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com