Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在2个视图控制器中使用与子视图相同的UIWebview_Ios_Uiwebview_Copy - Fatal编程技术网

Ios 在2个视图控制器中使用与子视图相同的UIWebview

Ios 在2个视图控制器中使用与子视图相同的UIWebview,ios,uiwebview,copy,Ios,Uiwebview,Copy,我需要在2个ViewController中使用相同的UIWebview实例作为子视图。 但是,当我将webview添加到第二个视图控制器时,它将从第一个视图控制器中删除。 两个视图控制器将同时可见。我需要在2个视图控制器中保留相同的webview 我尝试过归档和取消归档选项。但以这种方式执行操作时,webview中加载的详细信息未显示。 请推荐任何选项。您只是在创建指向同一UIView对象的新指针。由于UIView不响应复制,因此您需要实际分配和初始化一个新的UIView,并对其进行自定义以匹配

我需要在2个ViewController中使用相同的UIWebview实例作为子视图。 但是,当我将webview添加到第二个视图控制器时,它将从第一个视图控制器中删除。 两个视图控制器将同时可见。我需要在2个视图控制器中保留相同的webview

我尝试过归档和取消归档选项。但以这种方式执行操作时,webview中加载的详细信息未显示。
请推荐任何选项。

您只是在创建指向同一UIView对象的新指针。由于UIView不响应复制,因此您需要实际分配和初始化一个新的UIView,并对其进行自定义以匹配第一个UIView

视图只能包含在单个父视图的层次结构中。将其添加到新的时,它将从上一个中删除

因此,不能在两个视图控制器中使用相同的Web视图。您必须创建另一个。不能多次添加同一实例

您可以通过以下模式实现这一点:


创建一个公共类,您可以在其中创建UIWebview并加载URL,然后将其添加到控制器中。因此,您不需要为每个UIWebView编写url。

Dharmir-OneDis疑为什么不通过Abstract使用class@Anbu.Karthik是的,我们可以使用by创建一个抽象类,但我们需要每次创建新实例。我的需要是我不想在所有的Web视图中加载url。因此,我在一个webview中加载url,并希望在两个视图控制器中使用相同的webview。我们有什么选择吗?看这个例子@Bharathi,你可以做一件事创建一个公共类,在这个类中你可以创建UIWebview并加载你的URL,然后将它添加到你的控制器中。因此,您不需要为每个UIWebView编写url。