Есть способ сделать это, но это не очень красиво.
UIWebView позволяет запускать произвольный JavaScript, например, [webview stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('html')[0].innerHTML"]
.Поэтому, когда пользователь нажимает на элемент videoElement, вы можете запустить javascript, который устанавливает innerHTML определенного элемента, который вы можете извлечь из этой функции.
Однако, как узнать, когда запускать эту функциюна стороне Objective-C?Ну, есть два варианта.Во-первых (хотя я бы не советовал это, поскольку это было бы медленно), вы можете настроить функцию опроса, которая запускается время от времени для проверки значения функции stringByEvaluatingJavascriptFromString:
.Второй вариант, который, я думаю, вероятно, является наилучшим, заключается в создании подкласса WebView для отслеживания касаний в WebView.Таким образом, вы можете переопределить следующую функцию:
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesEnded:touches withEvent:event];
NSString *string = [self stringByEvaluatingJavascriptFromString:@"document.getElementById('videoTapped').innerHTML"]
if ([string isEqual:@"Something"]) {
// do something here
}
}