gpt4 book ai didi

ios - 如何以编程方式访问我的 View Controller 中的所有标签

转载 作者:行者123 更新时间:2023-11-28 18:05:31 24 4
gpt4 key购买 nike

我不确定这是否可能,但无论如何我都会问。

这是我的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

这是 .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;
}

所有这些都是工作文件。

问题
以编程方式访问我的 View Controller 中所有可用标签的某种方式吗?

我问这个的原因是:
我将有大约 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
}

最佳答案

绝对有办法:

for (id label in self.view.subviews) {
if ([label isKindOfClass:[UILabel class]]) {
// do your stuff...
}
}

关于ios - 如何以编程方式访问我的 View Controller 中的所有标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24584285/

24 4 0