UIWebView
というインスタンスを作成しましたmyWebView
。loadHTMLStringmyWebView
からコンテンツを取り込み、いくつかの UIImageView と UIView を追加しました。期待どおりに機能しました。UIImageViews と UIViews はすべて、html 文字列からの webview のコンテンツの上にあります。
次に、 andmyWebView
を使用してアーカイブおよびアーカイブ解除しました。アーカイブを解除すると、html 文字列のコンテンツのみが表示されます。他のすべての UIViews と UIImageViews は背面に移動されました。したがって、それらは表示されません。アーカイブ前とアーカイブ解除後の NSLog は、_UIWebViewScrollView がサブビューの最初のオブジェクトから最後のオブジェクトに移動したことを示していました。_UIWebViewScrollView の順序のみが変更されていることに注意してください。NSKeyedArchiver
NSKeyedUnarchiver
myWebView.subviews
SDK の設計によるものかどうかはわかりませんが、ビューの順序を復元して通常どおり表示できるようにするために、次のようにしました。
[myWebView sendSubviewToBack:[myWebView.subviews lastObject]];
質問: _UIWebViewScrollView が Apple のプライベートなものと見なされる場合はどうなるかわからないため、これを行うことは Apple の規則に違反しますか? しかし、私はその _UIWebViewScrollView に触れていないので。