如何在允许设置根视图控制器的同时调整 UINavigationBar 的高度?
How do I resize height of UINavigationBar while allowing to set root view controller?
我想调整 UINavigationBar
的高度 我以前在这里遇到过几个问题,但我相信这与那些完全不同。
发现,我必须创建 UINavigationBar
的子类,并在其中更新它的高度。但是为了使用那个子类导航栏,我必须使用下面的 UINavigationController
.
方法
这里是:
- (id) initWithNavigationBarClass:(nullable Class)navigationBarClass
toolbarClass:(nullable Class)toolbarClass;
如果我使用它来设置我的子类导航栏,那么我如何使用以下方法设置它的 rootViewController
:
- (id) initWithRootViewController:(UIViewController *)rootViewController;
有没有其他方法可以实现调整导航栏高度的目标,并且我应该为其设置一个根视图控制器?
在 documentation 中,他们说 属性 viewControllers
returns 索引为 0 的数组包含根视图控制器。
我认为,如果您在此 属性 处传递一个 VC 数组,则索引为零的对象将被视为根。或者只是一个元素数组。
子类化 UINavigationBar
成功!
#import <UIKit/UIKit.h>
@interface BaseNavigationBar : UINavigationBar
@end
@implementation BaseNavigationBar
- (CGSize)sizeThatFits:(CGSize)size {return CGSizeMake(self.superview.bounds.size.width, 24.f);}
@end
我想调整 UINavigationBar
的高度 我以前在这里遇到过几个问题,但我相信这与那些完全不同。
发现,我必须创建 UINavigationBar
的子类,并在其中更新它的高度。但是为了使用那个子类导航栏,我必须使用下面的 UINavigationController
.
这里是:
- (id) initWithNavigationBarClass:(nullable Class)navigationBarClass
toolbarClass:(nullable Class)toolbarClass;
如果我使用它来设置我的子类导航栏,那么我如何使用以下方法设置它的 rootViewController
:
- (id) initWithRootViewController:(UIViewController *)rootViewController;
有没有其他方法可以实现调整导航栏高度的目标,并且我应该为其设置一个根视图控制器?
在 documentation 中,他们说 属性 viewControllers
returns 索引为 0 的数组包含根视图控制器。
我认为,如果您在此 属性 处传递一个 VC 数组,则索引为零的对象将被视为根。或者只是一个元素数组。
子类化 UINavigationBar
成功!
#import <UIKit/UIKit.h>
@interface BaseNavigationBar : UINavigationBar
@end
@implementation BaseNavigationBar
- (CGSize)sizeThatFits:(CGSize)size {return CGSizeMake(self.superview.bounds.size.width, 24.f);}
@end