我正在尝试使用以下内容将我的ipad应用程序连接到外部屏幕(现在不检查正确的分辨率 - 只是希望它启动并运行).
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[window addSubview:[navigationController view]];
if ([[UIScreen screens] count] > 1) {
window.screen = [[UIScreen screens] objectAtIndex:1];
}
[window makeKeyAndVisible];
return YES;
}
Run Code Online (Sandbox Code Playgroud)
这是否应该将所有内容重定向到外部显示器?它的触摸/手势效果如何?我在Apple应用程序中看到,控件等都留在了ipad屏幕上......
您需要为要显示的每个屏幕(iPad,外部显示器等)设置单独的UIWindow实例.而不是简单地设置您的主要的UIWindow的屏幕到外部显示器,你要创建该显示器一个独特的UIWindow和移动可能从iPad窗口您欣赏到外部显示窗口.否则,您将无法在iPad屏幕上接收触摸输入以控制远程显示的内容.
例如,以下代码将在外部显示器上创建一个新窗口(具有externalScreen
适当的UIScreen实例):
CGRect externalBounds = [externalScreen bounds];
externalWindow = [[UIWindow alloc] initWithFrame:externalBounds];
UIView *backgroundView = [[UIView alloc] initWithFrame:externalBounds];
backgroundView.backgroundColor = [UIColor whiteColor];
[externalWindow addSubview:backgroundView];
[backgroundView release];
externalWindow.screen = externalScreen;
[externalWindow makeKeyAndVisible];
Run Code Online (Sandbox Code Playgroud)
您还需要在应用程序中监视屏幕连接/断开事件,并适当地处理它们.要做到这一点,请倾听UIScreenDidConnectNotification
和UIScreenDidDisconnectNotification
.
如果你想看到一种处理外部显示器的方法,我在我的Molecules iPhone/iPad应用程序的最新代码中有一个粗略的例子.
归档时间: |
|
查看次数: |
5580 次 |
最近记录: |