首先,感谢您来到这里并帮助解决我的问题.谢谢!!!
在iOS11 beta6中,sizeThatFits:似乎无法在UINavigationBar上运行.我注意到UinavigationBar结构已通过Reveal我的应用程序更改.
我尽力改变自定义导航栏的高度.但似乎总是如此44,它在iOS11之前有效.
- (CGSize)sizeThatFits:(CGSize)size {
CGSize newSize = CGSizeMake(self.frame.size.width, 64);
return newSize;
}
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我只是在didMoveToSuperview方法中记录它的框架,它的高度是64,但我真的看到在Reveal和app中它是44.
我不知道这个......请帮帮我..谢谢.
我发现关于我的自定义导航栏LayoutConstraints登录控制台如下:
"<NSAutoresizingMaskLayoutConstraint:0x604000495ae0 FDCustomNavigationBar:0x7fe2f01399d0.(null) == 42>",
"<NSAutoresizingMaskLayoutConstraint:0x604000495b30 FDCustomNavigationBar:0x7fe2f01399d0.height == 44>"`
Run Code Online (Sandbox Code Playgroud)
我甚至没有在导航栏中使用自动布局.它出什么问题了?

我在导航栏的-
layoutSubviews方法中设置了自定义导航栏的子视图框架.
- (void)layoutSubviews {
[super layoutSubviews];
self.frame = CGRectMake(0, 0, CGRectGetWidth(self.frame), 64);
for (UIView *view in self.subviews) {
if([NSStringFromClass([view class]) containsString:@"Background"]) {
view.frame = self.bounds;
} else if ([NSStringFromClass([view class]) containsString:@"ContentView"]) {
CGRect frame = view.frame;
frame.origin.y = 20;
frame.size.height = self.bounds.size.height …Run Code Online (Sandbox Code Playgroud)