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 を追加しました)。回転は正しいように見えますが、原点とフレーム サイズが正しくありません。何が間違っているのかわかりませんか?
の