我正在制作一个图表应用程序,它在更大的视图内显示框作为子视图。用户可以移动框。通过保持高度,宽度,x和y(左上角),我使用核心数据将这些框的位置持久化到sqlite数据库中。当我打开图时,我正在从数据库中读取这些值,并使用它们设置主视图中的子视图的框架。UIViews在横向模式下显示在错误的位置
在纵向模式下,此功能正常工作,并且框被重新定位在显示屏上的正确点上。但是,当我旋转到横向时,或者在横向上启动应用程序并打开图时,这些框的位置都是错误的。
我跟踪了代码,可以看到正确的值从持久性存储区返回并用于正确设置帧。但是,一旦子视图的UIView位于屏幕上,它就位于不同的位置(清晰可见并通过检查视图框架中的值来确认)。
现在奇怪的是,不是一个固定的像素偏移量,x坐标总是比用于创建帧的值大8.5%,并且y值总是小9.1%。
有没有人有任何解释,为什么这可能是,我怎么可能解决这个问题?
如果提供任何线索,主视图是在UIScrollView中。