Ios 将UIView设置为高于所有其他视图的动画

Ios 将UIView设置为高于所有其他视图的动画,ios,animation,uiview,Ios,Animation,Uiview,我想在我的应用程序的整个内容上方显示/设置UIView动画。以下方法可行,但将所有内容都附加到窗口不是一个好主意 [[[[UIApplication sharedApplication] delegate] window] addSubview:view] 什么是好的替代方案?我认为这种方法是正确的,您确实需要将其附加到窗口,因为您可能不知道视图层次结构是什么 要稍微整理一下代码,您可以将该逻辑封装到一些方法中,这些方法可以通过AppDelegate或其他方式访问: - (void)addAl

我想在我的应用程序的整个内容上方显示/设置UIView动画。以下方法可行,但将所有内容都附加到窗口不是一个好主意

[[[[UIApplication sharedApplication] delegate] window] addSubview:view]

什么是好的替代方案?

我认为这种方法是正确的,您确实需要将其附加到窗口,因为您可能不知道视图层次结构是什么

要稍微整理一下代码,您可以将该逻辑封装到一些方法中,这些方法可以通过
AppDelegate
或其他方式访问:

- (void)addAlwaysVisibleView:(UIView *)topmostView;
- (void)removeAlwaysVisibleView;

然后,
AppDelegate
可以保持状态,并知道是否已经附加了“始终可见”视图,以保持秩序,并在需要时进行一些室内清洁。

我认为您可以尝试visibleViewController方法来获取顶部viewController

//Try this to get the top viewController
UIViewController *vc =  [app.rootViewController visibleViewController];

// After getting the top viewController, and then add your subview to it
[vc addSubView:view];
// and try bringing this view to the top
[vc bringSubViewTo....(fogot~):view];

看看是否有帮助:)

创建单例UIView并将该实例置于每个viewController上可能是一个选项?