uitableview自定义透明标题

时间:2012-09-03 18:14:35

标签: ios uitableview

我正在使用部分标题来显示一个小图像“浮动”#39;在适当部分的细胞旁边。节标题是透明的,只包含一个imageview。 此解决方案的初始问题是节标题占用高度,看起来很奇怪(每个节的开头都有不必要的空白空间+当tableview滚动到开头时,图像应该与第一个单元格的顶部对齐该部分)。解决此问题的方法是将节标题高度设置为1px。图像仍然存在,但标题没有使用任何高度,一切看起来都很棒。

但是现在我需要在该图像的顶部添加一个UIButton,不幸的是,当标题的高度为1px时,它不起作用。它没有被任何东西隐藏或覆盖,并且它被正确绘制,但是设置选择器不会被调用。如果我设置了一些高度,按钮就可以工作。

简而言之 - 如何在截面标题中实现几乎没有高度的工作按钮,或者如何实现具有正常高度但始终与单元格重叠的节标题(在tableview时不使用任何空格滚动到该部分的顶部)?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

您可以通过这种方式在表格上添加透明视图。你会拦截touchDown和touchUp。您可以计算它们是否超过了您的一个按钮,如果是,则将它们直接发送到按钮,否则只需转发它们。您没有获得触摸事件的原因可能是因为触摸不会落入标题框架中。

答案 1 :(得分:0)

David H的建议也是我最初的想法,但我希望找到更优雅的解决方案。无论如何,这就是我最终实现这个功能的方式。

我保持代码尽可能简单(我确信它可以以更优化的方式完成,工作速度足以满足我的需要) - 每个图像添加到一个部分(不再需要重叠按钮)也是添加到字典中,以节号作为键。 当我的面具图层视图(我的桌面视图中添加的透明图片)被触摸时,我只需检查CGRectContainsPoint是否触摸对应于我的字典中的任何视图。