-1

我想以编程方式设置 UILable 的位置取决于方向。但是当我回到肖像时,它不起作用。

这是我的代码:

- (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

有两种可能性。您可以以编程方式设置标签。并检查 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{} 中的方向条件

方法。否则,您可以使用自动调整大小的蒙版。

于 2012-05-17T06:16:02.450 回答
1

试试这个 IF 条件:

 if ( UIInterfaceOrientationIsPortrait(toInterfaceOrientation))
 { 

 } 
 else {}
于 2012-05-17T05:49:50.927 回答
1
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
//write code here
return YES;
}

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

旋转设备时使用这两种方法设置标签。

于 2012-05-17T05:52:05.030 回答