如果设备不支持镜像(原始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。
我做错了什么吗?
发布于 2011-04-05 02:17:55
根据我对文档的理解,如果您访问实际上是镜像屏幕的辅助屏幕上的属性,mirroredScreen将引用主屏幕。如下所示:
if ([[UIScreen screens] count] > 1) {
UIScreen *secondaryScreen = [[UIScreen screens] objectAtIndex:1];
NSLog(@"%@", secondaryScreen.mirroredScreen); // will reference the mainScreen
}然后,[[UIScreen mainScreen] mirroredScreen]将始终返回nil,因为mainScreen不会镜像自身。
发布于 2011-04-20 20:30:10
苹果在这里有一个关于检测屏幕是否镜像的建议:http://developer.apple.com/library/ios/#qa/qa1738/_index.html
UIScreen *aScreen;
NSArray *screens = [UIScreen screens];
for (aScreen in screens)
{
if ([aScreen respondsToSelector:@selector(mirroredScreen)]
&& [aScreen mirroredScreen] == [UIScreen mainScreen])
{
// The main screen is being mirrored.
}
else
{
// The main screen is not being mirrored, or
// you are not running on a compatible device.
}
}https://stackoverflow.com/questions/5542097
复制相似问题