我创建了一个UIWebView
被调用的实例myWebView
。我填充myWebView
了来自 loadHTMLString 的内容,添加了几个 UIImageViews 和 UIViews。它按预期工作:UIImageViews 和 UIViews 都位于来自 html 字符串的 webview 内容之上。
myWebView
然后我使用NSKeyedArchiver
and归档和取消归档NSKeyedUnarchiver
。取消归档后,只有 html 字符串内容可见。所有其他 UIViews 和 UIImageViews 被移到后面。所以它们是不可见的。归档前和取消归档后的 NSLogmyWebView.subviews
显示,_UIWebViewScrollView 已从子视图中的第一个对象移动到最后一个对象。请注意,仅更改了 _UIWebViewScrollView 顺序。
不确定这是否是 SDK 设计的,但为了恢复视图顺序并使它们正常可见,我这样做了:
[myWebView sendSubviewToBack:[myWebView.subviews lastObject]];
问题:这样做是否会违反 Apple 的任何规则,因为我不确定 _UIWebViewScrollView 是否被视为 Apple 的私人物品。但是因为我没有碰那个_UIWebViewScrollView。