0

我在故事板下发现了奇怪的问题;
我已经拖动UIImageView,它传递到内部的必要框架UIView(并且可以返回)。为此,我对UIImageView触摸代表内部的框架进行了子类化和更改。如果我不更改当前视图,一切都会正常工作。

在此处输入图像描述

视图翻转并返回后,我看到了相同位置的对象,就像之前什么都没有发生一样:

在此处输入图像描述

我可以在内部存储所有对象的位置,但为什么 iOS 不保存所有帧更改?

4

1 回答 1

1

当您切换到不同的视图时,视图可能已被释放,而当您切换回来时,视图可能会重新加载。当然,新视图有新的子视图,每个子视图都根据情节提要或 .xib 文件中的数据进行定位。

iOS 开发中的一个基本规则是您不应该使用视图来存储应用程序状态。如果需要保留视图的位置,您应该将这些位置存储在应用程序的模型中。视图控制器应该实现-viewDidLoad从模型中获取位置并相应地设置子视图的方法。

于 2013-05-01T08:23:17.263 回答