gpt4 book ai didi

iOS:一次设置多个按钮的透明度

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:14:09 25 4
gpt4 key购买 nike

好吧,所以我真的不知道 NSDictionary 是否是正确的方法,但我正在使用淡入淡出动画让不同的按钮组在屏幕上出现和消失。我想将它们“划分”,可以这么说,分成不同的组,这样我就可以在一两行中完成此操作,而不必每次都重写所有按钮名称(有很多)。关于如何执行此操作的任何想法?

[UIView animateWithDuration: 1.5
animations: ^(void)
{
//As an example i just called them button1, button2, etc.
self.button1.alpha = 1;
self.button2.alpha = 1;
self.button3.alpha = 1;
self.button4.alpha = 1;
self.button5.alpha = 1;
}
];

我将以上内容作为我要问的示例。有没有办法将所有按钮放在 NSDictionary 中并写一行(按钮当前所在的位置)来更改它们的所有 alpha?

最佳答案

如今,您在 Interface Builder 中添加的按钮的首选机制是 IBOutletCollection:

@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *buttons;

demonstrate hooking up outlet collection

显然,在 Interface Builder 中,您可以将各个按钮连接到 socket 集合。有关 IBOutletCollection 的讨论,请参阅 NSHipster 的 IBAction / IBOutlet / IBOutlet​Collection文章。

如果您不使用 Interface Builder,而是以编程方式创建这些按钮,您可以只使用 NSArray:

@property (strong, nonatomic) NSArray *buttons;

然后您自己填充:

self.buttons = @[self.button1, self.button2, self.button3, self.button4, self.button5, self.button6];

无论您如何构建此数组( socket 集合或手动填充),您都可以在更新按钮的属性时迭代该数组:

for (UIButton *button in self.buttons) {
button.alpha = 1;
}

或者,更简单,您可以使用 setValue:forKey: 更新所有这些:

[self.buttons setValue:@1 forKey:@"alpha"];

关于iOS:一次设置多个按钮的透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31729369/

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