我在为一本书编写一些东西,像读者。当用户旋转手机时,我想增加字体大小。我正在使用UITableView
来显示文本块。UITableView在设备旋转后纠正滚动位置
问题是,增加字体大小会增加我的表格视图中行的高度,如果我正在阅读纵向模式下的段落320,我会在横向模式下获得280或类似的东西。
我已经使用这个代码设置了旋转通知监听器:
UIDevice *device = [UIDevice currentDevice];
[device beginGeneratingDeviceOrientationNotifications];
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self
selector:@selector(orientationChanged:)
name:UIDeviceOrientationDidChangeNotification
object:device];
,并试图转动之前保存的最后一段索引,然后旋转后向下滚动到它,但我似乎无法实现预期的效果。
什么是处理这种情况的最佳方式,以及我在哪里实际实现“之前”和“之后”的旋转状态?
我想让它在iOS 4+上运行。
谢谢您的帮助。我只是测试这个出路。我认为它会起作用,但是你能否更具体地在哪里找到“willChange”和“didChange”事件的方向?我应该使用代表吗? – Gio
我在什么时候保存topCellIndexPath更有兴趣? – Gio
旋转设备不应改变单元格的位置,它只是因为您要更改字体大小而改变。在捕获方向变化的任何方法中,您可以添加三行来存储顶部单元格,更改恢复顶部单元格的字体大小,它应该可以正常工作。 (编辑答案反映了这一点) – Ander