-1

プログラムでUILableの位置を向きに応じて設定したい。しかし、Portraitに戻ると、機能しません。

これが私のコードです:

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    if([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationPortrait || [[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationPortraitUpsideDown)
    {
        lblUserName.frame = CGRectMake(20, 200, 280, 44); 
        lblPassword.frame = CGRectMake(20, 246, 280, 44); 
    }

    else
    {
        lblUserName.frame = CGRectMake(20, 220, 280, 44); 
        lblPassword.frame = CGRectMake(20, 266, 280, 44); 
    }
}
4

3 に答える 3

2

2つの可能性があります。プログラムでラベルを設定できます。-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{}で方向の条件を確認します。

それ以外の場合は、自動サイズ変更マスクを使用できます。

于 2012-05-17T06:16:02.450 に答える
1
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
//write code here
return YES;
}

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
//write code here
}

デバイスを回転させるときにラベルを設定するには、この2つの方法を使用します。

于 2012-05-17T05:52:05.030 に答える
1

このIF条件で試してください:

 if ( UIInterfaceOrientationIsPortrait(toInterfaceOrientation))
 { 

 } 
 else {}
于 2012-05-17T05:49:50.927 に答える