2010-04-12 98 views
4

我有一个iPad应用程序,在弹出窗口中显示“抽屉”表格。用户可以点击并按住抽屉中的物品,将其拖出主视图。这部分工作正常;不幸的是,被拖动的视图出现在弹出框下,并且太小而无法看到,直到从视图下面拖出。如果我将视图作为视图控制器的子视图添加到弹出框的中,它将被弹出框的框架截断,并且由于我无法访问UIPopoverController的视图,我无法禁用其图层的masksToBounds,无论如何,这可能不是一个好主意。我怀疑我可以使用额外的UIWindow和高值windowLevel来强制拖动视图出现在弹出窗口的顶部,但这似乎是矫枉过正。有更好的解决方案吗?如何在UIPopoverController顶部添加视图

回答

7

明白了。 UIWindow工作正常。代码:

// when drag starts 
draggingView = [[UIWindow alloc] initWithFrame:CGRectMake(0,0,100,100)]; 
draggingView.windowLevel = UIWindowLevelAlert; 
draggingView.center = [gestureRecognizer locationInView:self.view.window]; 
[draggingView makeKeyAndVisible]; 

// when drag ends 
[draggingView release]; 
draggingView = nil; 
0

添加斯威夫特版本:

let windows: [UIWindow] = UIApplication.shared.windows 
    let firstWindow: UIWindow = windows[0] 

    firstWindow.addSubview(loadingView) 
    firstWindow.bringSubview(toFront: loadingView) 

编辑管理员:感谢评审 - 删除了对方的回答重复How to show a UIView OVER a UIPopoverController

相关问题