繁体   English   中英

UIImageView与UIbutton重叠

[英]UIImageView overlaps UIbutton

我有一个问题,我设计了一个带有UIButtons的应用程序,下面是一个UIImageView。 我的问题是,当我启动应用程序时,UIButtons位于UIImageView的下面。 这是我的UIButtons的代码。

码:

CALayer *touchedLayer = [myUIButton layer];
CABasicAnimation *wiggleAnimation = [CABasicAnimation animationWithKeyPath:@"transform"];

wiggleAnimation.duration = .1;
wiggleAnimation.repeatCount = 1e100f;
wiggleAnimation.autoreverses = YES;

wiggleAnimation.fromValue = [NSValue valueWithCATransform3D:CATransform3DRotate(touchedLayer.transform, -.15 , 0.0 , -1.0 ,-1.5)];
wiggleAnimation.toValue = [NSValue valueWithCATransform3D:CATransform3DRotate(touchedLayer.transform, -.15 , 0.0 , -1.0 ,-1.5)];

[touchedLayer addAnimation:wiggleAnimation forKey:@"wiggle"];

动画开始时,我的UIButtons位于下面,而UIImageView则位于UIButtons上方,为什么?


在这里发生了什么,我先在IB中进行了设计,然后放置了UIImageView,然后放置了四个UIButton。 UIImageView只是作为我的四个UIButton的背景。 当应用程序启动时,所有内容都能正确显示,但是当我单击图标执行代码时,问题就开始了。

这是我观察到的,四个UIButton看起来像是闪烁的,并且仍然可以接受单击的事件。 我的结论是UIButtons仍在UIImageView上方,但是显示它们时出现问题。

原因可能是什么?您能提出一些我仍然可以实现目标的建议吗?

谢谢

动画期间,视图将保持相同的Z顺序。 我假设(因为您没有包括代码的那一部分)您已经添加了UIButtonView和UIImageView,以使它们不重叠,并且z顺序仅在对象重叠时才变得明显。 z顺序由将子视图添加到其父视图的顺序确定。

若要使UIButtonViews出现在UIImageView的顶部,请最后添加它们。 您也可以使用[sendSubviewToBack]和[bringSubviewToFront]之类的方法更改顺序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM