由视图覆盖(或半覆盖)时,UIButton被禁用

问题描述:

我有一个包含一些UIButton的视图。另一个视图覆盖并隐藏按钮。当顶视图滑动显示按钮(带动画)时,用户界面将按钮变灰,直到顶视图不再覆盖或覆盖所有按钮..导致不希望的闪烁从灰色变为正常的按钮颜色(白色)。由视图覆盖(或半覆盖)时,UIButton被禁用

有没有办法让UIButton在被另一个视图覆盖或半覆盖的情况下呈现自己被禁用?

好吧,代替实际找到正确的答案,我只需将UIImageViews和附加的UITapGestureRecognizers替换为它们......这解决了问题。

我不认为它是正确的,一个按钮被禁用,而覆盖。发生的事情是,当它被覆盖时,触摸事件被阻止进入按钮,所以按钮不能被按下。如果该按钮仅被部分覆盖,触摸该部分未被覆盖的事件可以被该按钮接收,并且该按钮可以被按下。如果你真的想让这个按钮在被覆盖的时候工作(也许你可以让你的视图保持联系,这样按钮就在视图的前面而不是在它的后面)?你可以破解你的视图并且使它的命中测试失效,从而它不会捕获触摸。

+0

不,我不是指触摸。我正在谈论按钮外观。触摸与它无关。 – 2011-05-05 03:47:17

+0

我刚刚尝试过,当我的按钮被另一个视图部分覆盖时,它不会改变颜色。我想知道你是否可以转储这些属性:状态,启用,选中,突出显示。 – DavidN 2011-05-05 04:11:42

+0

嗯..有趣。我的UITableViewCell托管,顺便说一下,“重叠”视图是另一个UITableviewcell,所以它必须是导致“禁用”效果的UITableView。这可能会让我有些事情要走了。 – 2011-05-05 15:35:46