Может быть я поздно здесь, но первые два ответа на вопрос является ДА вы можете. Вы можете вызвать метод Objective C, который имеет код выбора Picker и перемещение/нажатие других представлений, из вашего веб-сайта, имеющего Javascript. Вам просто нужно отследить их в своем родном приложении, используя UIWebViewDelegate.Вот пример того, как я сделал это:
// В вашем файле Javascript, внутри метода, из которого вы хотите вызвать Pickerview или хотят столкнуть другой уроженец Посмотреть
var iframe = document.createElement("IFRAME");
iframe.setAttribute("src", "js-frame:myObjectiveCFunction";
document.documentElement.appendChild(iframe);
iframe.parentNode.removeChild(iframe);
iframe = null;
В вашей родной Цель - файл C: включают < < UIWebViewDelegate >>
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request
navigationType:(UIWebViewNavigationType)navigationType {
if ([[[request URL] absoluteString] hasPrefix:@"js-frame:"]) {
// Extract the selector name from the URL
NSArray *components = [requestString componentsSeparatedByString:@":"];
NSString *functionName = [components objectAtIndex:1];
// Call the given selector
[self performSelector:NSSelectorFromString(functionName)];
// Cancel the location change
return NO;
}
// Accept this location change
return YES;
}
- (void)myObjectiveCFunction {
// Do whatever you want!
// show Native picker view
// Push another native View
}
Точно так же вы можете даже отправить параметры с HTML-страницы в Objective c. // -----------------------------------
1 - Возможно, но функции iOS будут в верхней части веб-представления 2 - Возможно, но вы должны убедиться, что веб-просмотр не выгружается. – nhahtdh
@nhahtdh благодарит за ответ. может предложить вам несколько руководств по вышеуказанным темам. –
Проверьте, есть ли существующие плагины, которые вы можете использовать или изменять. В противном случае, я думаю, вам нужно написать свой собственный плагин. – nhahtdh