gpt4 book ai didi

ios - 以编程方式更改多个按钮

转载 作者:行者123 更新时间:2023-11-28 21:49:20 25 4
gpt4 key购买 nike

我有一个包含 10 个按钮的 View ,我想使用数组中的信息来设置可见的按钮数量及其标题。

这些按钮被命名为 option1BTN...option10BTN。该数组具有不同的数据和大小,具体取决于用户的选择,我希望按钮也能反射(reflect)这些变化。

下面的代码显示了一个 for-do 循环,它设置了哪个按钮可见以及按钮标题

for (int i=0; i == [optionsArray count]; i++) {

self.option1BTN.hidden = NO;
[self.option1BTN setTitle:[optionsArray objectAtIndex:i] forState:UIControlStateNormal];

}

如何在循环中更改按钮名称(以编程方式),以便根据数组的大小更改为 option1BTN 然后 option2BTN...optionXBTN 等等?

最佳答案

NSArray *buttons = @[self.option1BTN, self.option2BTN]; // add all the buttons here 

for (int i=0; i < buttons.count; i++) {
UIButton *button = buttons[i];
button.hidden = NO;
[button setTitle:[optionsArray objectAtIndex:i] forState:UIControlStateNormal];

// the previous line can be re-written as
//[button setTitle:optionsArray[i] forState:UIControlStateNormal];
}

此方法与使用 IBOutletCollection(正如 Jeff 在他的回答中建议的那样)之间的区别在于 outlet 集合不保证其项目的顺序。如果顺序对您很重要,您需要自己指定,就像我上面的代码片段一样。

关于ios - 以编程方式更改多个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28907012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com