我有一个非常简单的游戏我建立了,游戏有主要的中心游戏屏幕ViewController。 并且顶视图显示了你需要通过的下一个对手。
如你所见,白色区域是游戏区域,而蓝色顶视图,你可以看到下一个对手是怎样的。
我想要做的就是当你通过一个对手时,最后一个会向下动画,但不会在它后面的白色区域。 我尝试通过代码创建此效果,这里是:
-(void)animationPlayerDawnwaords{
self.backgroundColor = COLOR_BLUE;
[_playerView setCenter:CGPointMake(self.center.x, self.center.y)];
[_playerView setHidden:NO];
[UIView animateWithDuration:1.0 delay:0 options:UIViewAnimationOptionCurveEaseInOut animations:^{
[_playerView setCenter:CGPointMake(self.center.x, self.center.y * 4.0 )];
} completion:^(BOOL finished) {
//
}];
}
但结果是:
我想做这样的事情:
我知道最后一张图片不是来自同一个项目,但是如果是的话我不会问这个大声笑(;
任何实现这一目标的方式都将非常感谢,谢谢
修改
主要ViewController的白色区域和蓝色区域是它的子视图,我的意思是,它位于顶部。 因此,不可能选择使白色区域成为最顶视图。 希望我能清楚地解释我的自我..谢谢
答案 0 :(得分:0)
确保gameView位于_playerView之上。您可以通过确保gameView位于_playerView下方来确定故事板中的层次结构(对不起,如果它不清楚,我制作了截图但我需要10个声明来发布图像......)或者使用Akhilrajtr'答案。
答案 1 :(得分:0)
如果_playerView是蓝色topView的子视图,您可以设置topView.clipsToBounds = YES;
答案 2 :(得分:0)
两种方法:
<强>首先:强> 一个班轮
[self.view bringSubviewToFront:self.yourWhiteView];
// this line of code will place your white view on top of everything else
<强>第二强> 如果你想要更多的控制
#import "QuartzCore/QuartzCore.h"
int whiteViewZ = self.yourWhiteView.layer.zPosition;
// set your playerview z position to be behind your white view
self.playerView.layer.zPosition = whiteViewZ - 1;