#iphone #html #objective-c #ibaction
#iPhone #HTML #objective-c #ibaction
Вопрос:
Итак, я знаю, что такого рода вещи легко достигаются в Java с использованием файлов JSP, но мне интересно, как я могу смешивать код и html в представлении iOS. Причина, по которой мне нужно это сделать, заключается в том, что у меня есть (локальный) html-контент, загружаемый в UIWebView, и если они нажимают на кнопку html, мне нужно, чтобы он запускался, например, как IBAction, и выполнял некоторые действия локально.
Возможно ли это в XCode? Чего я не понимаю?
Ответ №1:
Нельзя смешивать код Objective-C с HTML-файлом, который выполняется локально на UIWebView
. Тем не менее, есть несколько обходных путей, которые могут соответствовать вашим потребностям.
Тот, который я использовал, заключается в том, чтобы иметь HTML-ссылку на пользовательский URL и определять это в соответствующем методе в UIWebView
классе делегата следующим образом:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
В этом методе вы бы проверили URL
схему, которую вы создали, посредством проверки request
параметра, а затем решили, какой селектор закодировать в вашем коде Objective-C.
Ответ №2:
В следующем блоге показан способ сделать это
http://davinccoder.wordpress.com/2011/06/28/call-ios-method-for-html-button-click/
Ответ №3:
Это возможно с помощью обработчиков событий JavaScript, которые вызывают ваши методы objective-c через мост javascript.
Комментарии:
1. К сожалению, мост недоступен на iOS.