如何查找未记录版本的 handleGesture 选择器(用于 UIWebView)需要啥样的参数?

Posted

技术标签:

【中文标题】如何查找未记录版本的 handleGesture 选择器(用于 UIWebView)需要啥样的参数?【英文标题】:How to find what kind of parameters is required for undocumented version of handleGesture selector (for UIWebView)?如何查找未记录版本的 handleGesture 选择器(用于 UIWebView)需要什么样的参数? 【发布时间】:2012-11-03 18:20:11 【问题描述】:

我已经向 UIWebView 实例添加了一个自定义弹出菜单:

- (void)viewDidLoad

    UILongPressGestureRecognizer* gesture = [[[UILongPressGestureRecognizer alloc] 
    initWithTarget:self action:@selector(handleGesture::)] autorelease];


- (void)handleGesture




- (void)handleGesture:(UIGestureRecognizer*)gestureRecognizer

    if (gestureRecognizer.state == UIGestureRecognizerStateEnded) 
        [gestureRecognizer.view becomeFirstResponder];
        UIMenuController* mc = [UIMenuController sharedMenuController];
        [mc setTargetRect: gestureRecognizer.view.frame inView: gestureRecognizer.view.superview];
        [mc setMenuVisible: YES animated: YES];

而且它有效!直到我将 textarea(CodeMirror 编辑器)聚焦在网页上。在这种情况下,我有以下例外:

-[FirstViewController handleGesture::]: unrecognized selector sent to instance 0x20369c00
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[FirstViewController handleGesture::]: unrecognized selector sent to instance 0x20369c00'
*** First throw call stack:
(0x3608c2a3 0x3439c97f 0x3608fe07 0x3608e531 0x35fe5f68 0x3747ad31 0x374423dd 0x3762f479 0x37366837 0x3736529b 0x360616cd 0x3605f9c1 0x3605fd17 0x35fd2ebd 0x35fd2d49 0x3650f2eb 0x373b1301 0x140bb 0x14060)
libc++abi.dylib: terminate called throwing an exception
(lldb) 

我认为需要使用外来参数实现未记录版本的 handleGesture 选择器。这样对吗?如何找到需要什么样的参数?

【问题讨论】:

我希望您不打算将其提交到应用商店。使用未记录的 API 会立即被拒绝。 App store approval guidelines: "2.5 使用非公开 API 的应用将被拒绝" 但这是您的应用程序。如果您想抓住机会并希望他们不会注意到,那是您的权利。我只是想确保你在被拒绝时不会感到惊讶。 【参考方案1】:

正确的代码:

initWithTarget:self action:@selector(handleGesture:)] autorelease];

【讨论】:

以上是关于如何查找未记录版本的 handleGesture 选择器(用于 UIWebView)需要啥样的参数?的主要内容,如果未能解决你的问题,请参考以下文章

如何编写一个 JPQL 查询来查找此连接中未找到的记录?

如何在维度表中查找未使用的行

高效查找最近 k 天内未更新的记录

Access 使用未绑定的组合框查找和添加记录

如何在 Perforce 树中查找未跟踪的文件? (模拟svn状态)

假设一个表中有多个列有 1000 条记录,如何在整个表中查找重复记录? [复制]