2010-04-12 151 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

相關問題