2011-05-31 63 views
0

我有一个loginviewcontroller,有2个UITextField,用户名,密码,按钮和UIImageView。这应该适用于纵向和横向模式。然而,在我的横向模式下,我希望能够集中所有这些元素。我该怎么做呢?此外,我需要缩放元素的大小,以便它是合适的。缩放和居中UITextFields

我试着玩弹簧,它看起来非常奇怪,因为一切都被拉长了。

回答

0

您可以在视图上设置“contentMode”。这将告诉超级视图如何在重绘或布局发生时缩放子视图。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 

    if (interfaceOrientation == UIInterfaceOrientationPortrait) { 

     //align in one way 
     return YES; 
    } 
    else if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft) { 

     //align in a different way 
     return YES; 
    } 
    return NO; 
} 
+0

是的,我知道我可以使用这种方法,我可以做textview.center = view.center居中,但我似乎无法: 您也可以手动的位置,并设置textAlignment等。得到正确的x和y中心.. – adit 2011-05-31 18:52:27

+0

我更新了我的答案了一下,它错过了返回BOOL。该方法被命名为“shouldAutorota .....”,这意味着它发生在任何旋转发生之前。还有其他代表方法,如旋转发生后发生的didRotateFromInterfaceOrientation。如果在旋转之前引用view.center,它实质上会给你“之前”的坐标。如果你在轮换之后进行更新,它们将被更新。我正在回答,好像你知道确切的坐标并想自己提供它们,抱歉:) – RickiG 2011-06-01 08:20:53