Вы действительно должны заглянуть в Руководство по программированию контроллера 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
класс.)