0

私のアプリデリゲートで、別の画面をセットアップしました(airPlay用)。

2 番目のウィンドウを作成し、それに 2 番目の画面を割り当ててアプリを実行すると、ストーリーボードの TableView が黒色に変わります。tableView が正しくレンダリングされていないかのようです。問題を次のように切り分けました。

self.HDTVwindow.screen=[[UIScreen 画面] objectAtIndex:1];

ここで、HDTVWindow はエアプレイ アプリの 2 番目のウィンドウです。このコードをコメントアウトすると、ストーリーボードは正常に動作し、UITableView は素晴らしく白くなります。異なる画面に割り当てられているにもかかわらず、appDelegate で 2 つの UIWindows を作成して、ストーリーボードを混乱させていますか??

私の appDelegate については、以下を参照してください。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    if ([[UIScreen screens] count]>1)
        {
            CGRect frame = [[UIScreen screens]objectAtIndex:1].bounds;
            self.HDTVwindow = [[UIWindow alloc] initWithFrame:frame];

            UIImage* astonLogo=[UIImage imageNamed:@"AstonUni720p.png"];
            UIImageView* astonLogoView=[[UIImageView alloc] initWithImage:astonLogo];
            astonLogoView.frame=frame;
            [self.HDTVwindow addSubview:astonLogoView];

            self.HDTVwindow.hidden = NO;
            self.HDTVwindow.screen=[[UIScreen screens] objectAtIndex:1];//PROBLEM!!

        }

// Set Up Storyboard
   UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
   UIViewController *mainViewController = [storyboard    instantiateInitialViewController]; 
   self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
   self.window.rootViewController = mainViewController;
   [self.window makeKeyAndVisible];

 return YES;

}

4

1 に答える 1