2012年12月12日水曜日

UIWindowは回転しない

iOSアプリ開発、Mac使用歴共に4ヶ月と少しのの社員4です。
わからないことだらけのiOS SDKやXCodeと日々格闘しております。
そんな中で気づいたことを書き留めていこうと思います。

さて表題の件ですが、アプリの画面回転を有効にしている場合、rootViewControllerのviewは自動的に回転してくれるのですが、windowは回転してくれません。
ですので、windowになんらかのviewを直接addsubviewしている場合は、viewを個別に回転させたり、回転に応じて座標を変換する必要があります。


検証環境はXCode4.5とiOS4.3、5.1、6.0です。(いずれもシュミレータ)



検証用コード
-(void)viewDidAppear:(BOOL)animated
{
    self.view.backgroundColor = [UIColor clearColor];
    
    UIView *markerV = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 30, 30)];
    markerV.backgroundColor = [UIColor blueColor];
    [self.view addSubview:markerV];
    
    UIView *markerW = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 30, 30)];
    markerW.backgroundColor = [UIColor redColor];
    [self.view.window addSubview:markerW];
}

0 件のコメント:

コメントを投稿