UIView里面的UIButton,showTouchWhenHighlighted将被superview剪裁

时间:2011-04-12 09:48:04

标签: uiview uibutton highlight glow clipped

我可能使用这种方法可能有点错误,如果是这样,也许有人可以建议......但无论如何,我创建响应器小部件的模式涉及添加一个看不见的UIButtonTypeCustom填充UIView的边界,以向任何视图添加向后兼容的按钮行为。为了我的需要,这非常有效。为了略微改善使用这个混合按钮的用户体验,我将showsTouchWhenHighlighted设置为YES按钮。这工作正常,但按钮的“发光”被按钮的父UIView剪裁。我试过了;

button.layer.masksToBounds = NO;
button.clipsToBounds = NO;
parentView.layer.masksToBounds = NO;
parentView.clipsToBounds = NO;

但这些都不允许光晕逃脱parentView的边界。这是一个相当小的化妆品问题,但我认为这样做会更好看

希望有人可以提供帮助!感谢

1 个答案:

答案 0 :(得分:0)

我使用这样的代码,并且父级不会剪切发光 - 经过验证和测试。

UIButton myButton = [[UIButton alloc] init....];
[parentView addSubview:myButton];
myButton.showsTouchWhenHighlighted = YES;
parentView.clipsToBounds = NO;

无需在按钮上设置.clipsToBounds = NO;默认值为NO。

在设置属性时,您是否检查过parentView是否为非零?还要检查层次结构中是否还有其他UIView可能会剪切发光效果。