Objective-C:使用元素数组设置alpha值



我对objective-c很陌生,我正在尝试使用for循环在0.0 Alpha设置标签数组。有人可以帮我吗?

NSArray *fadeLabels = @[@"_lonLabel", @"_firstLat",@"_firstLon",@"_firstReal",@"_firstMagnetic",@"_firstSpeed",@"_speedLabel",@"_realNorthLabel",@"_magneticNorthLabel"];
for (int i=0; i<[fadeLabels count]; i++) {
[fadeLabels objectAtIndex:i];
//setAlpha:0.0f?
}

使用视图数组而不是字符串数组。 在数组中插入视图。

NSArray *fadeLabels = @[ _lonLabel, _firstLat, _firstLon, _firstReal, _firstMagnetic, _firstSpeed, _speedLabel, _realNorthLabel, _magneticNorthLabel];
for (int i=0; i<[fadeLabels count]; i++) {
UIView *view = (UIView *)[fadeLabels objectAtIndex:i];
[view setAlpha:0.0f];
}

您正在分配带有名称String的数组equalTo您的UILabel对象,因此您需要

像这样替换数组元素

@"_lonLabel"_lonLabel

NSArray *fadeLabels = @[ _lonLabel, _firstLat, _firstLon, _firstReal, _firstMagnetic, _firstSpeed, _speedLabel, _realNorthLabel, _magneticNorthLabel];
for (int i=0; i<[fadeLabels count]; i++) {
UILabel *label = (UILabel *)fadeLabels[i];
label.alpha = 0.0;
}

您还应该最好使用for...in而不是"旧"for

NSArray *fadeLabels = @[ _lonLabel, _firstLat, _firstLon, _firstReal, _firstMagnetic, _firstSpeed, _speedLabel, _realNorthLabel, _magneticNorthLabel];
for (UILabel *label in fadeLabels) {
label.alpha = 0.0;
}

最新更新