【发布时间】:2016-08-05 04:10:01
【问题描述】:
我需要在 2 个视图控制器中使用相同的 UIWebview 实例作为子视图。 但是当我将 webview 添加到第二个视图控制器时,它会从第一个视图控制器中删除。 两个视图控制器将同时可见。而且我需要在 2 个视图控制器中保留相同的 webview。
我尝试过存档和取消存档选项。但是以这种方式执行时,不会显示 webview 中加载的详细信息。 请建议任何选项。
【问题讨论】:
我需要在 2 个视图控制器中使用相同的 UIWebview 实例作为子视图。 但是当我将 webview 添加到第二个视图控制器时,它会从第一个视图控制器中删除。 两个视图控制器将同时可见。而且我需要在 2 个视图控制器中保留相同的 webview。
我尝试过存档和取消存档选项。但是以这种方式执行时,不会显示 webview 中加载的详细信息。 请建议任何选项。
【问题讨论】:
你只是在创建一个指向同一个 UIView 对象的新指针。由于 UIView 不响应复制,因此您需要实际分配和初始化一个新的 UIView 并对其进行自定义以匹配第一个
视图只能包含在单个父视图的层次结构中。当您将其添加到新的时,它会从前一个中删除。
因此,您不能在两个视图控制器中使用相同的 Web 视图。您必须创建另一个。您不能多次添加同一个实例。
您可以通过以下模式实现此目的:
创建一个通用类,您可以在其中创建 UIWebview 并加载您的 URL,然后将其添加到您的控制器。所以你不需要为每个 UIWebView 编写 url。
【讨论】: