Как я могу вызвать код target-c из html-файла в UIWebView? - PullRequest
1 голос
/ 11 мая 2011

Так что я знаю, что такого типа вещи легко достигаются в Java с использованием файлов JSP, но мне интересно, как я могу смешивать код и HTML в представлении iOS. Причина, по которой мне нужно это сделать, заключается в том, что у меня (локальное) содержимое html загружается в UIWebView, и если они нажимают кнопку html, мне нужно, чтобы он запускался, например, как IBAction, и выполнял некоторые действия локально.

Возможно ли это в XCode? Чего мне не хватает?

Ответы [ 3 ]

5 голосов
/ 11 мая 2011

Нельзя смешивать код Objective-C с файлом HTML, который выполняется локально на UIWebView.Тем не менее, есть некоторые обходные пути, которые могут соответствовать вашим потребностям.

Один из тех, что я использовал, - это наличие HTML-ссылки на пользовательский URL-адрес и ее обнаружение в соответствующем методе в делегате UIWebView.class, как показано ниже:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

В этом методе вы проверяете созданную вами схему URL посредством проверки параметра request, а затем решаете, какой селектор кодировать в вашем Objective-С-код.

4 голосов
/ 17 августа 2011

Следующий блог показал способ сделать это

http://davinccoder.wordpress.com/2011/06/28/call-ios-method-for-html-button-click/

2 голосов
/ 11 мая 2011

Это возможно при использовании обработчиков событий JavaScript, которые вызывают ваши методы target-c через javascript bridge .

...