我有一个包含 UITextView 的 UIView 子类(我称之为 aView)。用户可以根据需要调整和旋转 aView,目标是让应用程序将 aView 恢复到与用户上次运行应用程序时完全相同的位置、大小和旋转。
我的编码如下所示:
[encoder encodeCGRect:self.view.frame forKey:@"annotationFrame"];
[encoder encodeCGPoint:self.view.center forKey:@"annotationCenter"];
[encoder encodeCGRect:self.textView.frame forKey:@"textViewFrame"];
[encoder encodeCGAffineTransform:self.view.transform forKey:@"transform"];
和 initwithCoder:
CGRect frame = [decoder decodeCGRectForKey:@"annotationFrame"];
CGPoint center = [decoder decodeCGPointForKey:@"annotationCenter"];
CGRect tvframe = [decoder decodeCGRectForKey:@"textViewFrame"];
CGAffineTransform transform = [decoder decodeCGAffineTransformForKey:@"transform"];
self.view.frame = frame;
self.view.center = center;
self.view.transform = transform;
self.textView.frame = tvframe;
但这里是“之前”和“之后”的样子:(我添加了 bgcolors 以便可以看到框架)。旋转似乎是正确的,但原点和帧大小不正确。我不确定我做错了什么?
这