一次将样式应用于多个iOS图层

时间:2014-07-20 16:38:20

标签: ios objective-c

我有很多按钮,我正在使用相同的样式。是否可以比以下方式更简单地将样式应用于所有按钮?也许有一个循环会在几行代码中更新所有层?

[_Level1.layer setCornerRadius:17.0f];
[_Level2.layer setCornerRadius:17.0f];

2 个答案:

答案 0 :(得分:3)

一线解决方案:

[@[_Level1, _Level2, _Level3] setValue:@(17.0f) forKeyPath:@"layer.cornerRadius"]

答案 1 :(得分:2)

是的,你确实可以使用一个简单的for循环来实现它。

NSArray *buttons = @[_Level1, _Level2, _Level3];
for (UIButton *level in buttons) {
    [level.layer setCornerRadius:17.0f];
    // other setup you need to do...
}