从使用storyboard部署的webView返回主视图

时间:2012-03-26 18:52:32

标签: iphone objective-c ios uiview webview

我创建了一个新项目“Single View Application”,并使用Storyboard设计了mainView。我的主视图包含一个打开相机的UIButton,相机扫描条形码并自动进入网站。现在我以编程方式创建了一个webView,以便网站可以打开并在webView中创建一个UIButton。现在,我希望UIButton充当家庭按钮并返回主视图。我无法做到,请帮忙。

ViewController.m代码:http://cl.ly/FKj8

我的故事板看起来像: enter image description here

1 个答案:

答案 0 :(得分:1)

你真的应该调查View Controller Programming Guide - 通过切换单个视图控制器的内容,你为自己做了很多额外的工作而没什么好处。通过使用多个视图控制器,当您想要有不同的"屏幕"在您的应用程序中,您可以利用故事板来简化开发,并自动获得更好的内存管理(阅读:崩溃的可能性更小)。

但是,要更直接地回答您的问题...如果您使用[self.view addSubview:webView]将WebView放入视图层次结构中,则可以使用[webView removeFromSuperview]将其删除。 (这意味着您必须保留对WebView的引用,以便在您想要关闭它时可以引用它。)


我还在你发布给cl.ly的代码中注意到了一个不相关的方法-deviceModel,它使用uname()来获取设备信息。这是一个坏主意,原因有两个:

  • uname()并不保证在iOS设备上执行有用的操作(即使它当前有效)。如果您需要此类信息,请使用UIDevice课程,或者......
  • 通常,您想要测试设备名称以启用应用中的功能;相反,您应该测试您需要的功能。 (例如,如果您查找以&#34开头的设备名称; iPhone 4"要测试Retina显示屏,您将错过第4代iPod touch和iPhone-5-or-无论如何 - 他们称之为接下来的事情。而是使用UIScreen类。)