我在故事板下发现了奇怪的问题;
我拖了UIImageView
,它传递到UIView
内的必要帧(并且可以返回)。为此,我将UIImageView
子类化,并更改了内部触摸委托的框架。如果我不改变当前视图,一切都有效。
在视图翻转并返回之后,我看到了相同位置的物体,就像之前没有发生任何事情一样:
我可以在内部存储所有对象的位置,但为什么iOS不保存所有帧更改?
答案 0 :(得分:1)
当您切换到其他视图并在切换回时重新加载时,视图可能已释放。当然,新视图有新的子视图,每个子视图都是根据storyboard或.xib文件中的数据定位的。
iOS开发中的基本规则是您不应使用视图来存储应用程序状态。如果需要保留视图的位置,则应将这些位置存储在应用程序的模型中。视图控制器应实现-viewDidLoad
方法从模型中获取位置并相应地设置子视图。