在iOS中,如何从Javascript中调用Objective-C方法UIWebView并让它将数据发送回Javascript?我知道这可以使用Webkit库在OS X上完成,但是这可以在iOS上实现吗?PhoneGap如何实现这一目标?
我需要使用UISwipeGestureRecognizer(例如,UISwipeGestureRecognizerDirectionRight和UISwipeGestureRecognizerDirectionLeft)捕获两个不同的滑动手势.当我使用addGestureRecognizer方法添加两个不同的识别器时,只有最后添加的识别器有效.我已经读过我需要实现gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:UIGestureRecognizerDelegate协议方法,但没有任何效果.
任何人都可以帮助捕获两个或多个相同的手势的简单示例?谢谢!
因此,如果没有点击链接,我想检测UIWebView上的点击.我该怎么做呢?我知道:
- (BOOL)webView:(UIWebView *)webview shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
Run Code Online (Sandbox Code Playgroud)
每次单击一个链接时调用.但是我怎么知道它是否是UIWebView上的一个非链接?我一直在寻找网络,我找到的最接近的是这个.但是,这并不能告诉我水龙头是否在链接上
我有一个UIViewController,里面有3个UIWebView.我以编程方式向我的webViews添加了向左滑动.现在我可以刷卡,但只需3页然后再重复一次.我想增加我的currentPage并将其添加到我的webView3,但我不知道该怎么做.
你能给我一些提示吗?我真的有这方面的问题!
这是我的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"test view");
NSURL *url = [NSURL fileURLWithPath:[ [ NSBundle mainBundle ] pathForResource: @"Name/Name1" ofType:@"html" ]];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView2 loadRequest:request];
[webView2 bringToFront];
NSURL *url = [NSURL fileURLWithPath:[ [ NSBundle mainBundle ] pathForResource:
@"Name/Name2" ofType:@"html" ]];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView3 loadRequest:request];
UISwipeGestureRecognizer *swipeLeft = [[UISwipeGestureRecognizer alloc]
initWithTarget:self action:@selector(swipeLeftAction:)];
swipeLeft.direction = UISwipeGestureRecognizerDirectionLeft;
swipeLeft.delegate = self;
[self.view addGestureRecognizer:swipeLeft];
}
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer
*)otherGestureRecognizer
{
return YES; …Run Code Online (Sandbox Code Playgroud) 嗨,在viewDidLoad的主要WiewController中我设置了一个
UIGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(processTap)];
Run Code Online (Sandbox Code Playgroud)
然后ia for循环我创建UIViews并将它们添加到滚动视图,然后将其添加到主视图中.
UIView *newsContainer = [[UIView alloc] initWithFrame:CGRectMake(160 * countnews, 30, 156, 126)];
newsContainer.tag = countnews;
newsContainer.userInteractionEnabled = YES;
[newsContainer addGestureRecognizer:recognizer];
[tempScroll addSubview:newsContainer];
Run Code Online (Sandbox Code Playgroud)
然后我有一个功能
- (void)processTap:(UITapGestureRecognizer *)recognizer {
UIView *view = recognizer.view;
NSLog(@"HELLO, %d", view.tag);
}
Run Code Online (Sandbox Code Playgroud)
从来没有被称为任何建议?非常感谢您的帮助.提前致谢.
这是整个.m
#import "iPadMainViewController.h"
#import "GradeintView.h"
#import <QuartzCore/CALayer.h>
#import "Category.h"
#import "News.h"
#import "LazyImageView.h"
#import "TouchView.h"
@interface iPadMainViewController ()
@end
@implementation iPadMainViewController
@synthesize detailsView = _detailsView;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil …Run Code Online (Sandbox Code Playgroud) 如果我将一个手势识别器添加到一个UIWebView被调用的子类实例webView,例如:
UILongPressGestureRecognizer *_longPressRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(webViewGestureRecognized:)];
_longPressRecognizer.allowableMovement = 20;
_longPressRecognizer.minimumPressDuration = 1.0f;
[webView addGestureRecognizer:_longPressRecognizer];
[_longPressRecognizer release], _longPressRecognizer = nil;
Run Code Online (Sandbox Code Playgroud)
在-webViewGestureRecognized:当我执行长按选择不叫.
我已经覆盖了委托方法,-gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:但仍未调用长按选择器.
- (BOOL) gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}
Run Code Online (Sandbox Code Playgroud)
我可以做些什么来在网络视图上启用我自己的手势识别器吗?
html页面如下: <body onclick="doSomething();">...</body>
它在chrome或firefox中运行良好,但在iOS的UIWebView中没有响应.它是否被Apple禁用?或者,如果有办法解决它?
objective-c ×5
ios ×4
iphone ×4
uiwebview ×4
javascript ×2
cocoa-touch ×1
ipad ×1
onclick ×1
xcode ×1