通过 UIWindow 从继承自 NSObject 的类以模态方式在整个应用程序顶部显示 UIWebView?
Posted
技术标签:
【中文标题】通过 UIWindow 从继承自 NSObject 的类以模态方式在整个应用程序顶部显示 UIWebView?【英文标题】:Showing a UIWebView modally on top of whole application through UIWindow from class inherited from NSObject? 【发布时间】:2012-04-04 14:07:20 【问题描述】:我有一门课与社交网络相关的东西一起工作。在某些时候,它可能想要以模态方式设置 UIWebView。它可能不知道当前哪个视图控制器正在工作。我可以通过 UIWindow 显示 WebView 吗?
【问题讨论】:
【参考方案1】:尝试做:
[[UIApplication sharedApplication].keyWindow.rootViewController
presentModalViewController:yourVC animated:YES]
UIApplication keyWindow Docs:
keyWindow
应用程序的关键窗口。 (只读)
@property(nonatomic, readonly) UIWindow *keyWindow
讨论
此属性在 windows 数组中保存 UIWindow 对象,即 最近发送了 makeKeyAndVisible 消息。
可用性
适用于 ios 2.0 及更高版本。
UIWindow rootViewController Docs:
rootViewController
窗口的根视图控制器。
@property(nonatomic, retain) UIViewController *rootViewController
讨论
根视图控制器提供窗口的内容视图。 将视图控制器分配给此属性(以编程方式 或使用 Interface Builder)将视图控制器的视图安装为 窗口的内容视图。如果窗口具有现有视图 层次结构,旧视图在新视图被删除之前被删除 已安装。
此属性的默认值为 nil。
可用性
适用于 iOS 4.0 及更高版本。
【讨论】:
[UIApplication keyWindow] 报错,说对象UIApplication上没有keyWindow这样的属性? 哦,是[UIApplication sharedApplication].keyWindow!谢谢 @IlyaLapan Opps。忘记像您指出的那样为 UIApplication 添加单例访问器。我更新了我的答案。很高兴我能帮上忙。以上是关于通过 UIWindow 从继承自 NSObject 的类以模态方式在整个应用程序顶部显示 UIWebView?的主要内容,如果未能解决你的问题,请参考以下文章
我的 swift 函数的返回类型必须继承自 NSObject
实例方法 'appendInterpolation(_:formatter:)' 要求 'Any' 继承自 'NSObject'
当分离到从 NSObject 继承的自定义类时,TransitioningDelegate 不适用于 UIPresentationController