如何设置按钮位置?

时间:2012-10-18 15:00:16

标签: xcode ipad

我正在开发一款iPad应用程序。在主屏幕上有6个按钮,它们是在IB中创建的。我想从代码中动态地安排它们,但我不能。 已经尝试设置对象的框架/中心,但它们没有移动。

我有一个数组,它保存按钮出口,并将它们安排在for循环中。 有什么建议吗?

谢谢!

编辑:

这是一些代码(不是全部,但其余部分现在无关紧要),我如何遍历按钮。按钮插座已正确设置。按钮的标题更改正确,我也可以隐藏/显示按钮,但不能显示位置。

如果我只是尝试一些虚拟代码,例如: tempBtn.frame = CGRectMake(100.0, 200.0, 60.0, 40.0); 什么都没有改变(但我怀疑所有6个按钮应该在同一个位置)

// I have this array, which contains the button outlets

tAddBtnArray = [NSArray ArrayWithObjects:tAddBtn1,tAddBtn2,tAddBtn3,tAddBtn4,tAddBtn5,tAddBtn6, nil];

//I loop through the array, set button title, and trying to change the y position
 for(int i=0;i<6;i++){
        UIButton *tempBtn = [tAddBtnArray objectAtIndex:i];
        [tempField setText:@"Set some title"];
  } 

2 个答案:

答案 0 :(得分:4)

您可以通过以下方式以编程方式添加uibutton:

    UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self 
           action:@selector(yourMethod:)
 forControlEvents:UIControlEventTouchDown];
[button setTitle:@"Jesus Gil y Gil" forState:UIControlStateNormal];
button.frame = CGRectMake(100.0, 200.0, 60.0, 40.0);
[view addSubview:button];

答案 1 :(得分:2)

我打赌我知道它是什么。您是否在xib文件上启用了autolayout?如果是,则设置框架,然后评估约束,将按钮移回到分配的位置。

您有两种选择:

  1. 关闭自动布局,以便您自己管理相框。
  2. 保持自动布局,但更新约束和框架。
  3. 我建议关掉autolayout,但我并不是特别喜欢它,所以这只是一个偏好。