【问题标题】:Is it possible to access an IB object (say, a UILabel) without declaring a IBOutlet property?是否可以在不声明 IBOutlet 属性的情况下访问 IB 对象(例如 UILabel)?
【发布时间】:2010-07-26 10:41:55
【问题描述】:

我有 20 多个标签需要在运行时更新,我想知道是否可以在不必为所有标签声明属性和出口的情况下访问它们。我尝试为每个标签分配一个唯一的标签,并通过我的视图控制器中的视图访问它们,如下所示:

 self.view.myLabel1.text = @"Some text";

但它没有工作。有没有办法做到这一点?

谢谢

【问题讨论】:

    标签: cocoa-touch ios nib iboutlet


    【解决方案1】:

    标签方法是正确的,但您必须以不同的方式访问标签。假设self.view 是标签的父视图并且所有标签都有一个唯一的标签(整数),你可以像这样得到它们:

    UILabel *label = (UILabel *)[self.view viewWithTag:1];
    

    【讨论】:

    • 谢谢。你能举一个“设置”带有标签的 UILabel 的文本的例子吗?
    • 得到标签对象后,只需为其text属性赋值:label.text = @"My Text";
    【解决方案2】:

    据我所知,如果您不声明 Xcode,Xcode 对您的 xib UIElements 一无所知。 很久以前我也遇到过类似的困境,从那时起,当我拥有大量同类对象时,我更喜欢通过编程方式创建它们来使它们可重用。

    祝你好运

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-21
      • 1970-01-01
      • 2023-03-31
      • 2022-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-10
      相关资源
      最近更新 更多