如果设备(原始 iPad)不支持镜像,我想在外部连接的显示器上呈现独特的内容,但如果是 iPad 2,我想使用屏幕镜像。 现在当我尝试如下编码时:

if ([UIScreen instancesRespondToSelector:@selector(mirroredScreen)] && [[UIScreen mainScreen] mirroredScreen] == nil) {
    // Mirroring not supported. Present unique content on external display
}
[[UIScreen mainScreen] mirroredScreen] 总是返回 nil

难道我做错了什么?

最佳答案

据我了解文档,如果您在实际上是镜像屏幕的辅助屏幕上访问该属性,mirroredScreen 将引用主屏幕。如:

if ([[UIScreen screens] count] > 1) {
    UIScreen *secondaryScreen = [[UIScreen screens] objectAtIndex:1];
    NSLog(@"%@", secondaryScreen.mirroredScreen); // will reference the mainScreen
}
[[UIScreen mainScreen] mirroredScreen] 将始终返回 nil 因为 mainScreen 不镜像自身。

10-07 20:43