Ios 在viewDidLoad方法中调整UITextField大小

Ios 在viewDidLoad方法中调整UITextField大小,ios,resize,uitextfield,viewdidload,Ios,Resize,Uitextfield,Viewdidload,我正在开发一个应用程序,它有一系列用于数据输入的UItextFields,我想让它们根据设备类型在屏幕上动态地隔开,它工作得很好,但是UItextFields已经缩小了,我不能让它们保持原来的宽度。文本字段被添加到故事板中的视图中,并且是130x31。 在底部的“为循环添加子视图”之后,它们的宽度约为31像素 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading t

我正在开发一个应用程序,它有一系列用于数据输入的UItextFields,我想让它们根据设备类型在屏幕上动态地隔开,它工作得很好,但是UItextFields已经缩小了,我不能让它们保持原来的宽度。文本字段被添加到故事板中的视图中,并且是130x31。 在底部的“为循环添加子视图”之后,它们的宽度约为31像素

 - (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    // for debugging
    NSLog(@"opsToolsSevenHundred view did load");

    // Spaces the text fields labels and buttons in the view
    int i =0;

    NSArray *viewSubViews = [self.view subviews];
    for (i=0; i<[viewSubViews count]; i++) {
        [[viewSubViews objectAtIndex:i] removeFromSuperview];
    };



    float numberOfFields = 10;
    float alignmentCount = numberOfFields+1;
    float textFieldCenter = (self.view.frame.size.width/4)*3;
    float topFourLabelCenter = ((self.view.frame.size.width/7)*3);
    float bottomSixLabelCenter = ((self.view.frame.size.width/3));
    float buttonCenter = (self.view.frame.size.width/6);
    float navBarHeight = self.navigationController.navigationBar.frame.size.height;
    float verticleSpacingOffset = (self.view.frame.size.height - navBarHeight)/alignmentCount;
    self.oneTextField.center = CGPointMake (textFieldCenter, (verticleSpacingOffset + navBarHeight
    self.twoTextField.center = CGPointMake(textFieldCenter, (verticleSpacingOffset*2) + navBarHeight);
    self.threeTextField.center = CGPointMake(textFieldCenter, ((verticleSpacingOffset*3)+navBarHeight));
    self.fourTextField.center = CGPointMake(textFieldCenter, ((verticleSpacingOffset*4) + navBarHeight));
    self.fiveTextField.center = CGPointMake(textFieldCenter, ((verticleSpacingOffset*5) + navBarHeight));
    self.sixTextField.center = CGPointMake(textFieldCenter, ((verticleSpacingOffset*6) + navBarHeight));
    self.sevenTextField.center = CGPointMake(textFieldCenter, ((verticleSpacingOffset*7) + navBarHeight));
    self.eightTextField.center   = CGPointMake(textFieldCenter, ((verticleSpacingOffset*8) + navBarHeight));
    self.nineTextField.center = CGPointMake(textFieldCenter, ((verticleSpacingOffset*9) + navBarHeight));
    self.tenTextField.center = CGPointMake(textFieldCenter, ((verticleSpacingOffset*10) + navBarHeight));
    self.oneLabel.center  = CGPointMake(topFourLabelCenter, ((verticleSpacingOffset) + navBarHeight));
    self.twoCountLabel.center  = CGPointMake(topFourLabelCenter, ((verticleSpacingOffset*2) + navBarHeight));
    self.threeLoadLabel.center = CGPointMake(topFourLabelCenter, ((verticleSpacingOffset*3) + navBarHeight));
    self.fourLabel.center = CGPointMake(topFourLabelCenter, ((verticleSpacingOffset*4) + navBarHeight));
    self.fiveLabel.center = CGPointMake(bottomSixLabelCenter, ((verticleSpacingOffset*5) + navBarHeight));
    self.sixLabel.center = CGPointMake(bottomSixLabelCenter, ((verticleSpacingOffset*6) + navBarHeight));
    self.sevenLabel.center = CGPointMake(bottomSixLabelCenter, ((verticleSpacingOffset*7) + navBarHeight));
    self.eightLabel.center = CGPointMake(bottomSixLabelCenter, ((verticleSpacingOffset*8) + navBarHeight));
    self.nineLabel.center = CGPointMake(bottomSixLabelCenter, ((verticleSpacingOffset*9) + navBarHeight));
    self.tenLabel.center = CGPointMake(bottomSixLabelCenter, ((verticleSpacingOffset*10) + navBarHeight));
    self.oneButton.center = CGPointMake(buttonCenter, ((verticleSpacingOffset*1.5)+navBarHeight));
    self.twoButton.center = CGPointMake(buttonCenter, ((verticleSpacingOffset*2.5)+navBarHeight));
    self.threeButton.center = CGPointMake(buttonCenter, ((verticleSpacingOffset*3.5)+navBarHeight));

    i=0;

    for (i=0; i<[viewSubViews count]; i++) {
        [self.view addSubview:[viewSubViews objectAtIndex:i]];
    }
} 

为什么不尝试自动布局?您应该使用viewWillLayoutSubview方法来布局子视图。为什么要删除所有子视图,然后重新添加它们?我删除了它们,然后重新添加它们,以强制对象在新位置重新绘制。我尝试了自动布局,但它对我不起作用我发现很难按照我想要的方式排列它们你不需要删除和添加来移动它们。只需更新中心或框架。如果计划手动定位视图,请确保没有设置自动布局或约束。我已将占位符文本更改为6个字符,它们现在的大小都相同,足以满足我的需要,但我仍然不明白为什么在移动它们时会调整其大小,代码中没有任何内容会更改大小。