Возврат к основному виду из веб-представления, развернутого с использованием раскадровки - PullRequest
0 голосов
/ 26 марта 2012

Я создал новый проект «Single View Application» и спроектировал mainView с раскадровкой. Мой основной вид содержит кнопку UIB, которая открывает камеру, камера сканирует штрих-код и автоматически переходит на веб-сайт. Теперь я программно создал webView, чтобы веб-сайт мог открываться, а также создал UIButton внутри webView. Теперь я хочу, чтобы UIButton действовал как домашний боттон и вернулся в mainview. Я не могу этого сделать, пожалуйста, помогите.

Код ViewController.m: http://cl.ly/FKj8

Моя раскадровка выглядит так: enter image description here

1 Ответ

1 голос
/ 27 марта 2012

Вы действительно должны заглянуть в Руководство по программированию контроллера View - переключая содержимое одного контроллера View, вы делаете много дополнительной работы для себя с небольшой пользой. Используя несколько контроллеров представления, когда вы хотите иметь разные «экраны» в своем приложении, вы можете воспользоваться раскадровкой для упрощения разработки и автоматически получить лучшее управление памятью (читай: меньше вероятность сбоев).

Однако, чтобы более прямо ответить на ваш вопрос ... если вы помещаете WebView в иерархию представлений с помощью [self.view addSubview:webView], вы можете удалить его с помощью [webView removeFromSuperview]. (Это означает, что вам придется хранить ссылку на WebView, чтобы вы могли ссылаться на нее, когда хотите ее закрыть.)


Я также заметил в коде, который вы опубликовали для cl.ly несвязанный метод -deviceModel, который использует uname() для получения информации об устройстве. Это плохая идея по двум причинам:

  • uname() не гарантированно сделает что-то полезное на устройстве iOS (даже если это в настоящее время). Вместо этого используйте класс UIDevice, если вам нужна такая информация, или ...
  • Как правило, вы не хотите проверить имя устройства, чтобы включить функциональность в вашем приложении; вместо этого вам следует проверить наличие необходимых вам возможностей. (Например, если вы ищете имя устройства, начинающееся с «iPhone 4», чтобы протестировать дисплей Retina, вы пропустите iPod touch 4-го поколения и iPhone-5 или что-то еще, что они называют. -next. Вместо этого используйте UIScreen класс.)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...