Using UIScreen to drive a VGA display - doesn't seem to show the UIWindow?

Posted by Peter Hajas on Stack Overflow See other posts from Stack Overflow or by Peter Hajas
Published on 2010-04-17T23:25:36Z Indexed on 2010/04/17 23:33 UTC
Read the original article Hit count: 742

Filed under:
|
|
|
|

HI there,

I'm trying to use UIScreen to drive a separate screen with the VGA dongle on my iPad.

Here's what I've got in my root view controller's viewDidLoad:

//Code to detect if an external display is connected to the iPad.
 NSLog(@"Number of screens: %d", [[UIScreen screens]count]);

 //Now, if there's an external screen, we need to find its modes, itereate through them and find the highest one. Once we have that mode, break out, and set the UIWindow.

 if([[UIScreen screens]count] > 1) //if there are more than 1 screens connected to the device
 {
  CGSize max;
  UIScreenMode *maxScreenMode;
  for(int i = 0; i < [[[[UIScreen screens] objectAtIndex:1] availableModes]count]; i++)
  {
   UIScreenMode *current = [[[[UIScreen screens]objectAtIndex:1]availableModes]objectAtIndex:i];
   if(current.size.width > max.width);
   {
    max = current.size;
    maxScreenMode = current;
   }
  }
  //Now we have the highest mode. Turn the external display to use that mode.
  UIScreen *external = [[UIScreen screens] objectAtIndex:1];
  external.currentMode = maxScreenMode;
  //Boom! Now the external display is set to the proper mode. We need to now set the screen of a new UIWindow to the external screen
  external_disp = [externalDisplay alloc];
  external_disp.drawImage = drawViewController.drawImage;
  UIWindow *newwindow = [UIWindow alloc];
  [newwindow addSubview:external_disp.view];
  newwindow.screen = external;
 }

© Stack Overflow or respective owner

Related posts about ipad

Related posts about uiwindow