目前我有一个包含一些控件的UIView.然后我有一些图像,我以编程方式添加到视图中以显示为动画.目前在我的游戏循环的每个间隔结束时,我必须告诉控制器将UIView控件移动到前面,否则图像将出现在它的顶部.是否有一种成本较低的方法,使其始终保持最佳状态.
目前我在游戏循环结束时有以下内容:
[self.view bringSubviewToFront:myControlView];
Run Code Online (Sandbox Code Playgroud)
当游戏开始时,我可以做这样的事情:
myControlView.alwaysOnTop = true;
Run Code Online (Sandbox Code Playgroud)
Muh*_*asr 169
Objective-C的
#import <QuartzCore/QuartzCore.h>
myAlwaysOnTopView.layer.zPosition = MAXFLOAT;
Run Code Online (Sandbox Code Playgroud)
斯威夫特2
myAlwaysOnTopView.layer.zPosition = .max
Run Code Online (Sandbox Code Playgroud)
斯威夫特3
myAlwaysOnTopView.layer.zPosition = .greatestFiniteMagnitude
Run Code Online (Sandbox Code Playgroud)
此解决方案更好,特别是如果您希望视图始终位于顶部,而不管其后添加的其他视图.只需添加任何其他视图addSubview:
,它将始终保持在最顶层.
Sea*_*ell 25
而不是使用-addSubview:
插入图像,使用-insertSubview:belowSubview:
并传递您UIView
的第二个参数:
[self.view insertSubview:myImage belowSubview:myControlView];
Run Code Online (Sandbox Code Playgroud)
请注意,出于类似目的,您还可以访问方法-insertSubview:aboveSubview:
和-insertSubview:atIndex:
.
归档时间: |
|
查看次数: |
31302 次 |
最近记录: |