Web*_*ode 0 objective-c uiviewcontroller uilabel ios
我不确定这是否可行,但无论如何我都会问.
这是我的ViewController.h
@interface TBL_GameViewController : UIViewController
@property (strong, nonatomic) IBOutlet UILabel *roundText;
@property (strong, nonatomic) IBOutlet UILabel *roundNumber;
@property (strong, nonatomic) IBOutlet UILabel *playerText;
@property (strong, nonatomic) IBOutlet UILabel *playerScore;
@property (strong, nonatomic) IBOutlet UILabel *computerText;
@property (strong, nonatomic) IBOutlet UILabel *computerScore;
@end
Run Code Online (Sandbox Code Playgroud)
这是.m文件中的一种方法
- (void) lablesHiden:(BOOL)on
{
self.roundText.hidden = on;
self.roundNumber.hidden = on;
self.playerText.hidden = on;
self.playerScore.hidden = on;
self.computerText.hidden = on;
self.computerScore.hidden = on;
}
Run Code Online (Sandbox Code Playgroud)
这一切都是工作文件.
问题
是以编程方式访问视图控制器中所有可用标签的某种方法吗?
我之所以这样问的原因是:
我将有大约10种方法需要访问这些标签,以更改各种属性(颜色,文本,......).
如果明天我添加更多标签,我还需要为所有这些方法添加新标签,我想避免这种情况?
更新
我最后使用这种方法
- (NSArray*) getAllLabels
{
NSArray *labels = [[NSArray alloc] initWithObjects:self.roundText, self.roundNumber, self.playerText, self.playerScore, self.computerText, self.computerScore, nil];
return labels;
}
- (void) appear:(BOOL)on
{
for (UILabel *label in [self getAllLabels]) {
label.alpha = 0.0;
}
// more code
}
Run Code Online (Sandbox Code Playgroud)
绝对有一种方法:
for (id label in self.view.subviews) {
if ([label isKindOfClass:[UILabel class]]) {
// do your stuff...
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1731 次 |
| 最近记录: |