我正在开发一款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"];
}
答案 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?如果是,则设置框架,然后评估约束,将按钮移回到分配的位置。
您有两种选择:
我建议关掉autolayout,但我并不是特别喜欢它,所以这只是一个偏好。