gpt4 book ai didi

UINavigationController 中的 UITableView 旋转后进入导航栏

转载 作者:行者123 更新时间:2023-12-01 06:54:59 25 4
gpt4 key购买 nike

这是肖像:

alt text

这是风景

alt text

我已经尝试过轮换但没有成功:

self.tableView.autoresizesSubviews = YES;
self.tableView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;

最佳答案

我最近遇到了这个问题。就我而言,这是因为我正在执行导航 Controller 的旋转,该导航 Controller 不是应用程序窗口的根 Controller 。因此,我使用旋转通知监听器/仿射变换/边界调整方法来更改导航 Controller 的布局。这一切正常,但产生了此处描述的结果。我花了一段时间才注意到,当我旋转到横向时,导航栏的高度没有正确调整大小(即,从 44 像素到 32 像素,横向模式下框架的高度降低)。我的应用程序的根 View Controller 回复 willRotateToInterfaceOrientation didRotateFromInterfaceOrientation , 然而。该 View Controller 也已经知道关联的导航 Controller 。我通过将以下代码添加到 解决了这个问题willRotateToInterfaceOrientation 方法:

CGRect frame = self.navViewController.navigationBar.frame;
if (toInterfaceOrientation == UIInterfaceOrientationPortrait || toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {
frame.size.height = 44;
} else {
frame.size.height = 32;
}
self.navViewController.navigationBar.frame = frame;

希望这可以在类似情况下为某人节省一些时间。

关于UINavigationController 中的 UITableView 旋转后进入导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1882107/

25 4 0