Я использую rubymotion с фреймворком promotion для разработки своего первого приложения для iOS. У меня есть табличное представление (внутри навигационного контроллера), нажатие на ячейку таблицы открывает новый экран с веб-представлением, которое загружает локальный html-файл. Проблема в том, что веб-представление отображается только в первый раз, когда я его загружаю. Когда я возвращаюсь (контроллер навигации) и снова нажимаю на любую ячейку, открывается новый экран, но веб-просмотр не отображается. Запускается метод делегирования веб-представлений, поэтому он загружает его, но я вижу только черный экран (с панелью навигации).
Вот код для экрана с веб-представлением:
class XXXDetailScreen < ProMotion::Screen
attr_accessor :screen_title
def on_load
XXXDetailScreen.title = self.screen_title
@web_view = add_element UIWebView.alloc.initWithFrame(self.view.bounds)
@web_view.delegate = self
@web_view.scrollView.scrollEnabled = false
@web_view.scrollView.bounces = false
@web_view.loadRequest(NSURLRequest.requestWithURL(NSURL.fileURLWithPath(NSBundle.mainBundle.pathForResource('index', ofType: 'html', inDirectory: 'html'))))
end
def webView(inWeb, shouldStartLoadWithRequest: inRequest, navigationType: inType)
true
end
end
Экран выше открывается с помощью этого кода:
def tableView(tableView, didSelectRowAtIndexPath: indexPath)
tableView.deselectRowAtIndexPath(indexPath, animated: true)
open GalleryDetailScreen.new(screen_title: @data[indexPath.row][:title]), hide_tab_bar: true
end
Спасибо за любые предложения