iOS 13 UINavigationBar在UINavigationItem变化时不会自动计算大小
iOS 13 UINavigationBar does not automatically calculate size when UINavigationItem changes
当您尝试在加载视图后更改 UINavigationItem
(在我的例子中是设置 searchViewController
)时出现问题:UINavigationBar
不会更改它的大小以适应新内容。奇怪的是这个错误只在 iOS 13 中发现,旧版本上一切正常。
我在这里做了一个最小可重现的例子 https://gist.github.com/sam-moshenko/2e0310fe6e6dddace5f464e13ae3f972
解决方案也在示例中可见https://gist.github.com/sam-moshenko/2e0310fe6e6dddace5f464e13ae3f972
但是在第8行被注释掉了
解决方案是通过调用 sizeToFit
.
手动更新 UINavigationBar
的大小
当您尝试在加载视图后更改 UINavigationItem
(在我的例子中是设置 searchViewController
)时出现问题:UINavigationBar
不会更改它的大小以适应新内容。奇怪的是这个错误只在 iOS 13 中发现,旧版本上一切正常。
我在这里做了一个最小可重现的例子 https://gist.github.com/sam-moshenko/2e0310fe6e6dddace5f464e13ae3f972
解决方案也在示例中可见https://gist.github.com/sam-moshenko/2e0310fe6e6dddace5f464e13ae3f972 但是在第8行被注释掉了
解决方案是通过调用 sizeToFit
.
UINavigationBar
的大小