我需要直接向窗口添加视图。我可以通过UIApplication访问AppDelegate上的窗口对象来完成此操作。我打算尽可能地使这些代码可重用,但这使得该方法无益。如何在不使用AppDelegate的情况下以编程方式访问UIWindow?
我在Swift中编码,但Objective-C示例也可能有用。
答案 0 :(得分:7)
好的,我自己想出了这个。您可以像这样访问它:
var window :UIWindow = UIApplication.sharedApplication().keyWindow
答案 1 :(得分:6)
任何视图都有对当前窗口的引用。
在UIViewController中:
self.view.window
答案 2 :(得分:1)
Swift 3版
让窗口:UIWindow = UIApplication.shared.keyWindow!
答案 3 :(得分:1)
以下适用于Swift 4并将安全打开if let window = UIApplication.shared.keyWindow {
// Do stuff
}
,以便不需要强制转换:
{{1}}
答案 4 :(得分:0)
您将看到第一个窗口:
select
Name,
counts
from
(
select
Name,
counts,
rank() over(partition by Name order by counts desc) as rn
from
(
select
Name,
count(Case_Id) as counts
from CTD a
left join Agent_Table b
on a.Agent_ID = b.Agent_ID
group by
Name
) subq
) sub
where rn <= 2;