iphone - 旋转后查看重新加载不正确

标签 iphone ios objective-c landscape-portrait screen-rotation

我在表格单元格内重新加载自定义 UIView (SBBarChart) 时遇到问题。我不使用自动布局,因为调整单元格中可能存在或不存在的所有组件太困难了。我每次都手动计算矩形并且有效。

关于旋转,我尝试在 TableView Controller 中实现 willRotateToInterfaceOrientation 方法,其中包含 [self.tableView reloadData] 。这会在旋转后再次生成细胞。很好。

在单元格类内部,我调用[self.barChart setNeedsDisplay]以确保图表的 subview 将被重新加载,这有效。

现在问题来了。最初,纵向 View 会正确打开并加载。当我旋转到横向时,效果也很好。当我旋转回纵向时,条形的长度计算正确,但仍按横向显示。因此,条形图的新矩形具有正确的尺寸,但条形图显示得太长并且部分位于屏幕之外。

与框架具有相同尺寸的标签可以正确显示(并居中),因此应该是条形 View 重新加载的问题。

我做错了什么?

最佳答案

尝试检查[[UIApplication sharedApplication] statusBarOrientation]

重新加载桌面 View 时进行相应调整。这将给出当前的旋转状态。

关于iphone - 旋转后查看重新加载不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16219304/

相关文章:

ios - 如何在 Safari 上制作直播 swf 广播

objective-c - Class 是对象还是结构体?

ios - 如何使标签宽度自动调整

ios - 如何在 iOS 10 中更改特定栏按钮项目的色调颜色

iphone - 在手机 iPhone 中调整文本大小

ios - 自动布局和 UIView 动画 - 两个连接 View 之间的间隙

ios - 在 Sprite Kit( Objective-C )中切换场景会引发错误

ios - 如何以编程方式禁用/启用 UIBarButtonItem

iphone - 如何在 OpenGL ES for iphone 中加载和显示图像

iphone - 如何更改 ABPeoplePickerNavigationController 的外观,以便我可以看到电话号码类型(家庭、手机等)