UIButton 将点击和滚动手势传递给 UIScrollView

2024-01-14

我有一个水平分页的UIScrollView with a UIButton部分覆盖滚动视图。

像这样:

UIView
|
|- UIScrollView
|
|- UIButton

我想做UIButton不触发点击按钮上方滚动并释放(我想要UIScrollView改为滚动)。我希望按钮只响应点击并释放,无需移动.

这可以简单快速地完成吗?或者我应该子类化UIButton并覆盖-touchesBegan:等,手动将触摸传递给scrollView在适当的时候?


经过一些额外的研究,我找到了一个合理的解决方案。这里的问题是UIScrollView and UIButton不在同一响应者链层次结构中:两者的下一个响应者是父级UIView,因此默认情况下它们不会相互发送事件。

解决方案是子类化UIButton并实施

- (UIResponder *)nextResponder

方法,因此它返回UIScrollView.


另一种解决方案是使UIButton的孩子UIScrollView。但是,如果您希望无论单元格滚动如何都将按钮保持在固定位置,则效果不佳。


没有更简单的方法可以做到这一点,这有点烦人。 :-)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UIButton 将点击和滚动手势传递给 UIScrollView 的相关文章

  • 如何将字符串从 Applescript 传递到 Objective C

    我正在开发一个应用程序 我需要能够传递一个字符串变量 from 苹果脚本 to 目标C 我已经弄清楚如何从 Objective C 类中的方法运行 Applescript 但我需要能够将 NSString 设置为 Applescript 中
  • 有没有办法阻止 iOS 上的 Safari 在关闭时清除网站的 cookie?

    我的移动网络应用程序的一位用户抱怨说 每次他关闭手机屏幕后使用该应用程序时 他都必须重新登录该应用程序 发生的情况是 当屏幕关闭时 或者当您通过双击主页按钮并滑开 Safari 来完全关闭 Safari 时 Safari 会清除该网站的 C
  • NSOperation 中委托的使用

    我正在尝试利用CLLocationManager in an NSOperation 作为其中的一部分 我需要能够startUpdatingLocation然后等到收到 CLLocation 后才完成操作 目前我已经完成了以下操作 但是委托
  • 为什么没有收到(UDP 多播)数据包?

    所以 我一直试图弄清楚为什么这不起作用 但我没有任何线索 我已经成功地从 iPhone 发送数据包并在 Mac 上接收它们 根据 tcpdump 我的 mac 正确发送数据包 此外 如果我在模拟器中运行它 它工作得很好 这让我相信这是一个网
  • CGContextSelectFont 等效项

    在 iOS 7 CGContext SelectFont 中已弃用 已弃用的消息说我必须使用 Core Text 但我不知道哪一个与这段代码完全相同 CGContextSelectFont context Helvetica kBarLab
  • 无法添加钥匙串项目。使用 KeychainItemWrapper 更改标识符后出现错误 - 25299?

    我想用 KeychainItemWrapper 将 UUID 保存在钥匙串中 所以我在中添加以下方法MyKeychainManager m define keychain idenentify com myapp bundle1 void
  • 如何更改便携式 xamarin ios 项目中的启动屏幕?

    我正在使用便携式 xamarin 形式 其中项目是 IOS 项目 在 IOS 项目中 我想创建闪屏 我在 ios 项目属性中添加了 Iphone 启动图像和 iPad 启动图像 当我运行该应用程序时 它显示默认的启动屏幕 我还尝试从 inf
  • iOS 解析如何通过 URL 下载文件

    我正在将 parse 用于我的聊天应用程序 当我上传文件时 我保留该 url 并将该 url 发送给其他用户 然后其他用户可以通过该 URL 下载文件 这是我上传文件的代码 void uploadBlob NSData blob fileN
  • iOS 11 浮动 TableView 标题

    有一个应用程序包含多个部分 展开 时每个部分有几行 折叠 时没有 每个部分都有一个部分标题 使用以下子类重用它们UITableViewHeaderFooterView等等 到目前为止一切顺利 然后在 iOS 11 中 我使用了可视化调试器
  • AFNetworking 上传图片

    我看过一些例子 但我认为我的问题可能出在 PHP 中 我正在尝试使用 AFNetworking 将图像从 iPhone 上传到服务器 这是我的 obj c 代码 IBAction uploadButtonClicked id sender
  • ios Vision VNImageRequestHandler方向问题

    我正在尝试使用相机通过相机检测脸部VNImageRequestHandler iOS 愿景 当我在横向模式下用相机指向照片时 它会检测到面部 但方向模式相反 let detectFaceRequestHandler VNImageReque
  • 将语音添加到自定义 UIMenuController

    我创建了一个自定义UIMenuController in a UIWebView但它似乎摆脱了 说出选择 选项UIMenuController在那之后 所有测试设备上的 偏好设置 中都打开了发言选择选项 并且它出现在其他应用程序中 包括非
  • 为每行 NSTableView 文本着色

    我有一个 NSTableView 它显示我拥有的对象数组 对于每个对象 行 我想根据在每个对象上运行的函数的结果来更改显示的文本的颜色 因此 例如表中存在于另一个列表 或其他一些要求 中的所有对象 我想以绿色文本显示它们 不存在的对象以红色
  • Xcode 在代码签名身份中看不到我的开发人员证书

    我续订了 IOS 开发人员证书 从钥匙串中删除了旧证书 然后单击了我的证书 钥匙串中的一切看起来都很正常 我有分发 开发人员 WWDC 证书 每个配置文件看起来都有效 并带有绿色标记 在组织器中的团队和配置文件部分下 但在代码签名身份下的
  • 快速钥匙串更新只有在第二次尝试时才起作用

    您好 我在更新存储在钥匙串中的登录信息方面遇到了 iOS 钥匙串的一个非常奇怪的问题 因此 如果没有保存的凭据 则正确运行保存函数会保存登录信息 如果登录信息已存在并且用户更新了密码 则更新功能仅正确更新密码 但是 如果登录信息存在并且我尝
  • 使用 nib 作为带有 nib 类的表节标题

    我想创建一个加载 nib 文件并将其设置为标题 UIView 的节标题 这个 nib 文件还将有一个关联的类 其中插座和操作连接到 因此我想像平常一样使用 nib 加载该类 我在网上搜索并找到了几个类似的答案 但我找不到任何适合我的答案 经
  • Objective C (iphone) 关于发布的问题

    如果我创建一个视图 并将其添加为子视图并将其添加到数组中 是否必须释放它两次 UIView cat UIView alloc initWithFrame someFrame self view addSubview cat self ani
  • AVPlayer 不播放音频 - iOS 9,目标 - C

    我正在尝试从我的应用程序中的 URL 播放音频 iOS 8 中一切都按预期发生 模拟器和物理设备 对于 iOS 9 它可以在模拟器中运行 但在设备上 音频根本无法播放 出现流媒体 如果我单击播放 进度条还显示音频正在加载并播放 但没有声音
  • iOS 13 检查 CLLocationManager 的临时授权状态

    根据 WWDC 视频 https developer apple com videos play wwdc2019 705 https developer apple com videos play wwdc2019 705 当你要求 Al
  • 如果加载 dylib,垃圾收集工作队列会崩溃

    我们正在将应用程序从 10 6 移植到 10 8 我正在查看我们在应用程序中加载的 dylib 我面临着非常不寻常的崩溃垃圾收集工作队列并附有以下消息 malloc Thread suspend unable to suspend a th

随机推荐

  • C++:删除与自由和性能

    考虑 char p NULL free p or delete p 如果我使用会发生什么free and delete on p 如果一个程序执行时间很长 比如10分钟 有什么办法可以将其运行时间减少到5分钟吗 关于 new delete
  • 在同一模块中使用时,IntelliJ 无法找到生成的源

    我正在使用注释处理器谷歌的汽车工厂 https github com google auto tree master factory 我注释了SomeClass with AutoFactory并引用了new SomeClassFactor
  • 使用 txt 文件中的字符串填充数组

    Data txt 包含如下内容 猫 狗 老鼠 我想用该文件中的字符串填充一个数组 dico 0 Cat dico 1 Dog aso 我找到了这个 如何从 Swift 中调用 Objective C 的 NSArray 类方法 https
  • 我可以在提交 SQLite 事务后回滚该事务吗?

    SQLite 有没有办法在提交后基本上撤消最新事务 我想将数据库恢复到事务或保存点之前的状态 我查看了回滚命令 但看起来它仅限于回滚待处理的事务 Edit我可以创建一个名为 撤消 的保存点并等待在开始下一个操作之前释放它 或者在需要撤消它时
  • 单个查询中的 Wikipedia API 和 SPARQL

    我需要搜索其中包含一些特定单词的维基百科页面全文 为了改善结果 我想将结果限制为描述实体的页面的实例一个特定的实体 为了搜索全文 我可以使用 Wikipedia API 使用查询动作和搜索生成器 为了过滤给定实体的实例 我可以使用 Wiki
  • 如何检查包含路径下是否存在文件?

    您可以使用以下命令获取 PHP 中的当前包含路径get include path 我想知道检查是否可以包含该文件而不发出 PHP 错误的轻量级方法是什么 我正在使用 Yii 框架 我想要导入而不发出 PHP 错误 但我失败了 从 PHP 5
  • 如何避免以下代码中的Java.util.IllegalStateException?

    我有一个包含重复值的整数列表 我需要做的是找到重复的整数 添加它们的值 然后通过删除找到的重复项将结果添加到列表中 这是我正在做的事情 List
  • 如何设计从行创建动态列的查询

    我有数据 Table1 ID Name 1 n1 2 n2 3 n4 Table2 FID YearS Val 1 2008 Up 1 2009 Down 1 2010 Up 2 2000 Up 2 2001 Down 2 2002 Up
  • 如何在webview_flutter中设置Cookie?

    如何在初始化时在webview flutter中设置Cookie body WebView initialUrl index url javascriptMode JavascriptMode unrestricted onWebViewC
  • 将 CoffeeScript 与 Eclipse 集成?

    有没有一种方法可以集成 CoffeeScript 和 Eclipse 以便当我在一个窗口中编写 CoffeeScript 时 另一个窗口会将编译后的代码显示为 Javascript 我会等待答案 谢谢 我已经在我的项目中使用构建器和小型 s
  • 图像权限(不希望它们出现在图库中)

    我正在开发一个将图像存储在 Android data 文件夹中的应用程序 这些图片在画廊中可见 但我不想要这样 是否可以设置文件夹的权限 以便它们只能由应用程序本身使用 或者我应该将它们存储在另一个文件夹中 创建一个名为 nomedia在文
  • 我可以将 LESS 与 Xul 一起使用吗?

    我可以用吗LESS http lesscss org 与徐尔 有人已经一起使用过它们吗 我还没见过有人使用它 但没有什么能阻止你尝试 LESS 只是一个预处理器 它输出 CSS 文件 因此您可能会发现的问题应该与您可能需要使用的 Mozil
  • 当字符串包含多个双引号时,从字符串中提取 URL 的正则表达式失败?

    我正在使用正则表达式从字符串中提取 url 它大部分工作正常 var regex new Regex a href a
  • 在 android 中从 Shoutcast Url 播放

    我正在开发一个需要播放 Shoutcast 广播的应用程序 对于API我已经遵循了这个URL http wiki winamp com wiki SHOUTcast Radio Directory API 我成功地使用我的开发者 ID 获取
  • 在 CUDA 中使用 SIMD 实现位旋转运算符

    我知道 StackOverflow 不是用来向其他人询问代码的 但让我说一下 我正在尝试在 CUDA C 设备代码中实现一些 AES 函数 在尝试实现左字节旋转运算符时 我很不安地发现没有原生 SIMD 内在功能 所以我开始了一个幼稚的实现
  • 会计和数据库设计,存储借方和贷方金额

    问题 在下面的情况下 我是否应该将所有金额存储为正小数金额 然后将该金额标记为 借方 或 贷方 而不是将借方存储为负金额 将贷方存储为正金额 在我的数据库设计中 我将 借方 存储为负金额 将贷方存储为正金额 现在 在报告中有时结果会出错 因
  • 附件动作序列(UITableViewController)

    我正在尝试通过 IB 进行 segue 当按下 tableView 中的单元格附件时切换视图 来自我的IB的图片 1 我从 tableviewcontroller 的单元格拖动到另一个视图并选择 Accessory Action gt Pu
  • 如何使用 InvokeCommandAction 调用我的方法并传入参数?

    我一直在试图弄清楚如何从Loaded 事件 我在这里问了一个问题 我将如何在 Loaded 上传递参数 https stackoverflow com questions 30488770 how would i go about pass
  • 如何通过代码判断iPad是黑色还是白色? [复制]

    这个问题在这里已经有答案了 我想知道是否有办法通过代码判断 iPad 是黑色还是白色 简单的谷歌搜索没有发现任何结果 iPhone 上的序列号为您提供了所有这些信息 您只需将颜色代码映射到颜色本身即可 iPhone SN 的典型格式如下 A
  • UIButton 将点击和滚动手势传递给 UIScrollView

    我有一个水平分页的UIScrollView with a UIButton部分覆盖滚动视图 像这样 UIView UIScrollView UIButton 我想做UIButton不触发点击按钮上方滚动并释放 我想要UIScrollView