如何在没有标签的情况下访问以编程方式创建的 UILabel?

How to access UILabel created programmatically without tag?

我是 iOS 开发的新手,正在开发 iPad 应用程序,XIB 包含很多 UI 元素,所以我想以编程方式创建它们并从中获取数据这些标签和文本字段。 那么如何在不使用标签的情况下访问这些字段,有什么方法可以访问它们吗?

我不知道你想做什么但是在这里,

您可以通过以下方式获取 Labels 或 TextFields 的属性 and/or 值:

for(UILabel *lbl in self.view.subviews) {
    // get labels properties here
    NSLog(@"Label : %@", lbl.text);

}

for(UITextField *tf in self.view.subviews) {
    // get the textfield properties here
    NSLog(@"TextField : %@", tf.text);
}

在 .h 文件中声明它,如下所示

UILabel * userName;

并直接使用它的名称(用户名)在 .m 文件中访问它,这里不需要标签 即

NSLog(@"userName %@",userName);

此代码获取视图控制器中的所有标签,如果要查找所有文本字段,请将 UILabel 替换为 UITextfield

UILabel *lbl = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 100, 30)];
[lbl setText:@"Hello World"];
[self.view addSubview:lbl];
for(id x in [self.view subviews])
{
    if([x isMemberOfClass:[UILabel class]])
    {
        NSLog(@"%@",x);
    }
}

在你的 .h 文件中,像这样制作 IBOutlet :

@property (weak, nonatomic) IBOutlet UILabel *lbl;

在你的笔尖或情节提要中。右键单击您的视图控制器。您将从 Outlet 中获得一个列表 select "lbl"(在本例中)并将其拖到 "lbl" 并连接。您现在可以通过在 View Controller

中的任意位置写入 self.lbl 来访问此标签