更改其包含 UIView 的 UIButton

Posted

技术标签:

【中文标题】更改其包含 UIView 的 UIButton【英文标题】:UIButton that changes its containing UIView 【发布时间】:2012-04-13 00:55:25 【问题描述】:

我有一个包含一些按钮的 UITableViewCells 设置。单击某些按钮时,包含这些按钮的 UIView 将发生变化。不幸的是,这会导致单元格被选中,而按钮实际上捕获了触摸(如果包含视图在触摸时未更改,则此方法可以正常工作)。

一旦被 UIButton 检测到,有没有办法阻止触摸传递到单元格?

【问题讨论】:

【参考方案1】:

如果你实施

- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath

对于宿主表视图并为包含按钮的行返回 nil,那么当你点击按钮时它不会被选中。

如果您需要在用户点击按钮以外的任何内容时选择行,那么您可以在按钮的操作方法中调用 [tableVeiw deselectRowAtIndexPath:indexpathForButton animated:NO]

【讨论】:

嗯,愚蠢的是我没有想到这一点 :) 不过我会暂时保留这个问题,看看是否有人有另一种方法。

以上是关于更改其包含 UIView 的 UIButton的主要内容,如果未能解决你的问题,请参考以下文章

在更改其嵌套的 UILabel 时移动 UIView 会导致视图跳回初始位置

Swift - 想要在单击集合视图单元格内的按钮时进行更改

通过其约束为 UIView(包含带约束的子组件)设置动画

旋转UIView并使其更改视图大小以适应相对于旋转的空间

IOS:UIView 永远可见

使用动画更改 UIView 背景颜色