在我的故事板上,我添加了一个点击图标作为UIImageView
,在代码中我通过创建圆形视图并放大和淡化它们来实现脉动并添加“波纹”效果。我在viewDidLoad
中使用insertSubview:belowSubview:
添加了这些圈子视图,但无论出于何种原因,它们仍然显示在顶部。这是为什么?
这是我正在使用的代码:
// For the tap animation at the top
UIView *topTapRipple1 = [[UIView alloc] initWithFrame:(CGRectMake(157, 50, 13.0, 13.0))];
topTapRipple1.backgroundColor = [UIColor clearColor];
topTapRipple1.layer.cornerRadius = topTapRipple1.bounds.size.height/2;
topTapRipple1.layer.borderColor = [UIColor colorWithRed:0.886 green:0.886 blue:0.886 alpha:1].CGColor;
topTapRipple1.layer.borderWidth = 1.0;
[self.view insertSubview:topTapRipple1 belowSubview:self.middle];
UIView *topTapRipple2 = [[UIView alloc] initWithFrame:(CGRectMake(157, 50, 13.0, 13.0))];
topTapRipple2.backgroundColor = [UIColor clearColor];
topTapRipple2.layer.cornerRadius = topTapRipple2.bounds.size.height/2;
topTapRipple2.layer.borderColor = [UIColor colorWithRed:0.886 green:0.886 blue:0.886 alpha:1].CGColor;
topTapRipple2.layer.borderWidth = 1.0;
[self.view insertSubview:topTapRipple2 belowSubview:self.middle];
因为您可以看到我在self.middle
视图下面添加了UImageView
的视图。
我希望涟漪从它背后开始,但它看起来仍然如此:
当图像看起来像这样时,您可以看到图像顶部的圆圈:
包含问题的示例项目:http://cl.ly/2v2G053t3t0z
答案 0 :(得分:3)
问题在于您将topTapRipple1和topTapRipple2添加到self.view而不是self.topView(这是self.middle的超级视图)。改变它,并将它们的原点改为(73,30),它将从后面出现。