将事件从 UIScrollView 转发到 UIButton

Posted

技术标签:

【中文标题】将事件从 UIScrollView 转发到 UIButton【英文标题】:Forward events from UIScrollView to UIButton 【发布时间】:2011-05-16 16:02:28 【问题描述】:

我在UIScrollView 中有一个UIButton。问题是UIButton 不足以填满整个UIScrollView。我希望能够将UIScrollView 其他区域的触摸事件转发到UIButton。这是我的应用程序的屏幕截图:

http://imageshack.us/photo/my-images/405/img1410.png/

有人知道怎么做吗?

【问题讨论】:

ios(iPhone、iPod touch 和 iPad) 【参考方案1】:
[button addTarget:self action:@selector(itemTouched:)forControlEvents:UIControlEventTouchUpInside];

- (void) itemTouched:(UIButton*) sender

  [self performSelectorOnMainThread:@selector(doSomething:) withObject:sender waitUntilDone:NO];

UIButton 的高亮可以在调用doSomething 方法之前显示。

【讨论】:

【参考方案2】:

我不确定您是否可以通过这种方式转发触摸,但我想您可以调整 UIButton 的大小以填充整个 scrollView 并使内容不拉伸,使其看起来相同,但会更大用户界面按钮。

【讨论】:

【参考方案3】:

要将触地链向下传播到子视图,请使用:

[mychild touchesBegan:touches withEvent:event];

在你的 scrollView 的 touchesBegan 中。

【讨论】:

以上是关于将事件从 UIScrollView 转发到 UIButton的主要内容,如果未能解决你的问题,请参考以下文章

从 UIScrollView 转发触摸 - UIButton 问题

将触摸事件从 UIVew 传输到 UIScrollView

将一个水龙头从 UIScrollView 传递到其父视图

iOS 不会将触摸转发到以下视图

将触摸事件从覆盖 UIView 转发到 UIWebView / 如何从代码将触摸事件发送到 uiwebview

如何将触摸事件从一个视图传递到另一个视图