我想在AirPlay屏幕上显示与主屏幕相同的内容,例如,当您将设备连接到应用程序中的AirPlay时,它会默认显示。这自然是好的工作。
但是我的第二个屏幕是16:9而我的iPad 4:3并且我使用vfr / Reader并且我读取的pdf是16:9当你启动时,我想要实现的就像PowerPoint一样。幻灯片模式下的pptx。它仅在第二个屏幕上以16:9显示pptx。
我可以实现的是让第二个屏幕的全宽度更大,背景为红色:
if (_secondWindow)
{
NSLog(@"INIT SECOND WINDOW");
_secondWindow = [[UIWindow alloc] initWithFrame:screenBounds];
_secondWindow.backgroundColor = [UIColor redColor];
_secondWindow.screen = newScreen;
_secondWindow.hidden = NO;
//change size to 200 200
//_secondWindow.frame = CGRectMake(0, 0, 200,200);
// Set the initial UI for the window.
}
我需要的是说取一些东西,比如我当前的主要遗w的内容,并将其复制到不同大小的_secondWindow。
当我这样做时:
_secondWindow = [[[UIApplication sharedApplication] delegate] window];
我在第二个屏幕上有mainWindow内容但尺寸没有变化。 我只需要强制镜像屏幕的大小,在镜像屏幕上缩放我的内容。和保持同步
有没有办法实现这个目标?我在一些帖子上看到,对于两个屏幕都不可能有相同的实例,是否有比使用vfr / Reader更好的方式,比如在两个webView或其他内容中使用读者?或者在这种情况下可以完成的最大值只是将当前的pdf复制为png(但保持高分辨率质量)在第二个屏幕上?
但是当你的应用中有视频时它是如何工作的,你需要处理每个案例吗?
答案 0 :(得分:0)
您需要使用以下方式创建全新的显示:
- (void)handleScreenDidDisconnectNotification:(NSNotification*)aNotification
和
- (void)handleScreenDidConnectNotification:(NSNotification*)aNotification
然后当你有了这个屏幕时,你就可以使用全分辨率。
为了充分利用第二个屏幕的全部和高度(无边框),您需要:
secondScreen.overscanCompensation=UIScreenOverscanCompensationNone;
其中'secondScreen'是AirPlay :( UIScreen)。
观察到IOS 9中引入了UIScreenOverscanCompensationNone,将overscanCompensation设置为3也适用于较旧的IOS版本,但我不知道兼容性问题,因为我只针对IOS 9或更高版本。
/安德斯