加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – 在目标c中动态命名标签

发布时间:2020-12-14 17:15:31 所属栏目:百科 来源:网络整理
导读:我是iOS开发的新手,只是有一个简单的问题.我正在用100 UILabel创建一个应用程序.每个标签编号为0到99.问题是我不想对所有100个标签执行此操作. output1.text = [[NSString alloc] initWithFormat:@"1"];output2.text = [[NSString alloc] initWithFormat:@"2
我是iOS开发的新手,只是有一个简单的问题.我正在用100 UILabel创建一个应用程序.每个标签编号为0到99.问题是我不想对所有100个标签执行此操作.

output1.text = [[NSString alloc] initWithFormat:@"1"];
output2.text = [[NSString alloc] initWithFormat:@"2"];
.....
output100.text = [[NSString alloc] initWithFormat:@"100"];

相反,我想更动态地做这件事.下面我试图使用循环动态创建一个字符串.例如,通过将“1.text”附加到“output”的末尾,我得到字符串“output1.text”.

for (int i=0; i< 100; i++) {
    outputNameString = [NSMutableString stringWithCapacity:0];
    [outputNameString setString:@"output"];
    [outputNameString appendString:[NSString stringWithFormat:@"%i.text",i + 1]];
    outputNameString = [[NSString alloc] initWithFormat:@"%@",i];
}

“output1”到“output100”在接口部分正确声明并正确合成.我在这里缺少什么,或者这根本不可能?任何帮助,将不胜感激.

解决方法

当你创建标签时……设置它们的标签让我们说(100 — 200)

所以.
像这样初始化你的标签..

for (int i=0; i< 100; i++) {

UILabel *label = [[UILabel alloc] init] ;
// label formatting code here...

label.tag = i+100;
   }

然后像这样获得你的标签..并设置其文本

for (int i=0; i< 100; i++) {

UILabel *myLabel = (UILabel *)[self.view viewWithTag:i+100]; // get the label with tag
myLabel.text = [NSString stringWithFormat:@" Label %d",i+1"];
}

这应该工作得很好..问题是什么.?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读