UITableViewCell 内的 UIButton 默认点击动画
Posted
技术标签:
【中文标题】UITableViewCell 内的 UIButton 默认点击动画【英文标题】:UIButton default tap animation inside UITableViewCell 【发布时间】:2017-10-24 11:44:59 【问题描述】:我在UITableViewCells
中有几个UIButtons
,它们都缺少默认的点击动画,但是如果我长按 - 动画可以工作。我找到了一些解决方案,比如将类型设置为.system
、showsTouchOnHighlight = true
,但它们都没有帮助。这里有什么问题?
【问题讨论】:
请检查按钮突出显示的图像/颜色 @BencePattogato 全部设置为默认值,未选择图像 我认为你不小心设置了一些改变行为的东西。如果可行,请尝试删除按钮并在 IB 中创建一个新按钮。 @BencePattogato 不确定,但我注意到 Apple Music 应用按钮有类似的行为 【参考方案1】:这不是“问题”——这是设计使然。
当您在表格视图或滚动视图或集合视图中有一个对象(例如按钮)并且您“触摸”它时,系统需要知道您是在点击按钮还是想要触摸并 -拖动以滚动包含该按钮的视图。
因此,表格视图(实际上是表格视图的“滚动视图部分”)在执行任何操作之前等待查看您是否拖动手指。
如果您希望按钮立即响应触摸,则需要设置
delaysContentTouches = false
在包含的滚动视图上。
如果您搜索 uibutton inside uitableviewcell delaysContentTouches
,您应该会找到关于此主题的大量讨论,以及更改默认行为的各种方法。
【讨论】:
【参考方案2】:对于这个问题,你可以为 UIButton 添加扩展并覆盖一些方法。
你可以查看我的回答here
【讨论】:
以上是关于UITableViewCell 内的 UIButton 默认点击动画的主要内容,如果未能解决你的问题,请参考以下文章
UITableViewCell 内的多个堆栈视图内的多行标签
UITableViewCell 内的 UIView 上的 UIGestureRecognizer
UITableViewCell 内的 UIStackView
如何增加 UItableviewcell 内的 UItableview 高度?
捏放大到 UITableViewCell 内的 UIImageView
iOS - UITableViewCell 内的 UIScrollView 内的 UIView 未触发 UITapGestureRecognizer