如何在设备方向期间设置UITextfield位置

时间:2013-08-22 05:20:42

标签: ios ipad uitextfield

我在该图像视图上有一个图像视图,我在那里放了两个textField。当我将设备置于UITextfield上的纵向模式位置时是正确的。一旦我旋转我的设备位置的UITextfiled更改。请帮助我。我正在使用IOS 6,提前致谢。

3 个答案:

答案 0 :(得分:0)

有很多方法可以实现它:  1.约束(从xcode-> editor-> pin调整)  2.务实。

我个人建议你深入了解这个

by Ray Wenderlich

答案 1 :(得分:0)

尝试实施-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration 。 旋转设备时会调用此方法。您可以在此处设置UITextField

的框架

或者,您可以尝试设置AutoresizingMask。

答案 2 :(得分:0)

  1. 您可以通过AUTO LAYOUT(iOS6新功能)实现此目的。您在iOS6中创建的任何新xib都将默认激活自动布局。你必须调整约束。为此选择您的文本字段和图像视图。现在从Xcode的Editor菜单中选择Pin。固定文本字段和图像视图。
  2. 有关自动布局的更多信息,请阅读此精彩教程。 http://www.raywenderlich.com/20881/beginning-auto-layout-part-1-of-2

    1. 您也可以通过务实的方式实现这一目标。
    2. 在willAnimateRotationToInterfaceOrientation中设置文本字段和图像的帧

         - (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
                                           duration:(NSTimeInterval)duration
         {
              [super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration];
      
              if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft
              ||  toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)
              {
                  // set frame for your text field and image in landscape orientation.
              }
              else
              {
                  // set frame for your text field and image in landscape orientation.
              }
         }
      

      多数民众赞成。