gpt4 book ai didi

iphone - 调整 uinavigationbar 推送/弹出 View Controller 大小问题

转载 作者:行者123 更新时间:2023-12-03 21:12:55 25 4
gpt4 key购买 nike

我需要缩小 UINavigationBar(附加到 UINavigationController)的高度

我已经通过 UINavigationControllerDelegate 的 navigationController:didShowViewController 方法完成了此操作,并且工作正常。

问题在于主视图中的可见 View Controller 。它没有调整自身大小以反射(reflect)新的导航栏高度。因此, didShowViewController 方法还可以调整 View Controller 的 View 框架的大小,这可以正常工作。

但是,当我插入新的 ViewController 或弹出时,我总是看到 View 在动画过渡到下一个 View 期间向下移动到原始位置。然后,由于我在 NavControllerDelegate 的 didShowViewController 中的代码,它会将其移回原来的位置。

我很好奇确保永远不会发生降档的最佳方法。

我尝试将调整框架大小的代码放入 willShowViewController 中,但这没有任何作用。

我还确保 UIView 的框架(即正在弹出的 UIViewController 的 View )也具有正确/移动的尺寸。不去那里。

这就像我需要在调用pushViewController之后、调用UINavigationController的didShowViewController之前拦截绘图操作。

我已经盯着我的代码看了好几个小时了……一无所获。希望这对那里的人有意义。

谢谢!!!

最佳答案

我认为另一个选项是将 NavigationControllers navigationBarHidden 设置为 YES。这将完全隐藏导航栏,然后您可以在导航栏所在的位置绘制您想要的任何 View 。只需将控件放在包装导航方法(推送、弹出等)的 View 上即可。不过,让它具有与导航栏相同的样式可能是一个挑战。

关于iphone - 调整 uinavigationbar 推送/弹出 View Controller 大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1860121/

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