UIScreen mirroredScreen属性始终返回nil

Anu*_*ole 4 iphone ios4 ipad-2

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

if ([UIScreen instancesRespondToSelector:@selector(mirroredScreen)] && [[UIScreen mainScreen] mirroredScreen] == nil) {
    // Mirroring not supported. Present unique content on external display
}
Run Code Online (Sandbox Code Playgroud)

[[UIScreen mainScreen] mirroredScreen]总是回来nil.

难道我做错了什么?

Ole*_*ann 10

据我所知,mirroredScreen如果您在实际上是镜像屏幕的辅助屏幕上访问该属性,则会引用主屏幕.如:

if ([[UIScreen screens] count] > 1) {
    UIScreen *secondaryScreen = [[UIScreen screens] objectAtIndex:1];
    NSLog(@"%@", secondaryScreen.mirroredScreen); // will reference the mainScreen
}
Run Code Online (Sandbox Code Playgroud)

[[UIScreen mainScreen] mirroredScreen]然后总会返回,nil因为mainScreen不会镜像自己.