首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >触摸响应事件ios4

触摸响应事件ios4
EN

Stack Overflow用户
提问于 2011-01-21 07:04:06
回答 1查看 231关注 0票数 0

我在一个应用程序中添加了一个ViewController来支持广告横幅。该应用程序基于UINavigationController,因此我将ViewController作为子视图添加到UINavigationController中。现在,当在safari中点击打开广告时,广告横幅的区域无法识别。我曾尝试制作ViewController becomeFirstResponder,但这不起作用。有没有人对如何修复有什么想法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-21 07:26:17

您说您将其添加为一个子视图,但我希望您的意思是您使用

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated

视图控制器可以响应事件,因为它是一个UIResponder。UIView以及UIButton、UISlider等大多数可视化控件也继承自UIResponder --但它们根据用户交互实现特定的操作。

如果你真的想截获UIViewController中的事件,你需要处理触摸Moved/Moved/Ended事件。更有可能的是,如果视图控制器显示您想要单击的内容,则视图控制器中至少有一个UIWebView或UIImageView。

如果是UIWebView,您将需要一个UIWebViewDelegate实现

代码语言:javascript
复制
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

将让您知道正在打开哪些链接。

如果是UIImageView,您还需要设置属性userInteractionEnabled,然后才能看到任何触摸事件。

如果您正在处理iAd的AdBannerView类,那么它也继承自UIView,所以适用于UIImageView的注释。然而,与UIWebViewDelegate一样,ADBannerViewDelegate是内置交互支持所必需的,您必须实现权限/通知函数,

代码语言:javascript
复制
- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4753676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档