在屏幕上显示浮动UIView

时间:2013-03-14 12:00:04

标签: ios cocoa-touch uiview

是否可以在iPad屏幕上显示UIView而不将其添加到任何其他视图? 当我点击并继续点击屏幕上的任何位置时,视图应显示在点按位置,一旦我拿起手指,视图就会消失...
注意:点按手势会添加到视图中全屏显示

4 个答案:

答案 0 :(得分:1)

显示浮动UIView而不添加任何子视图显然不可能 IOS 系统就是这样设计的。每个应用程序都有一个窗口和一个根视图控制器。其他所有内容都添加到此 viewController 中。要实现像浮动UIView 之类的东西,你必须将它作为子视图添加到主视图控制器中,以便在不需要时显示和删除它。您的主视图将是根 viewController的视图,涵盖整个设备屏幕。我假设您知道如何从视图中添加和删除子视图。

答案 1 :(得分:0)

默认添加UIView,它应该被隐藏,当用户触摸任何位置时,只需根据手指位置设置你的UIView位置。当删除触摸时,只需隐藏UIView。

希望这会对你有所帮助。

一切顺利!!!

答案 2 :(得分:0)

除非视图是某个其他视图的子视图,否则无法显示视图。这就是iOS系统的工作方式 - 它是一种视图层次结构。 如果您愿意,可以将视图添加到UIWindow,这是您应用的最顶层视图。

答案 3 :(得分:0)

您必须将视图添加到某些内容中。没有其它的方法。

制作一个透明视图,用于保存浮动视图。使用0.0的alpha添加浮动视图。

然后在透明视图上实现touchesBegan:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event  {
    NSLog(@"touches began");
    myFloatingView.alpha = 1.0;
}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event  {
    NSLog(@"touches began");
    myFloatingView.alpha = 0.0;
}

当然,您需要为alpha设置动画效果以获得非常光滑的效果。