【问题标题】:Get UILabel from UIView从 UIView 获取 UILabel
【发布时间】:2013-06-13 21:25:35
【问题描述】:

我在视图中添加了许多标签,为它们提供了标签。

从视图中检索标签的正确方法是什么。我想重新发布标签。这是我用来检索标签并重新定位它的方法:

UILabel *theLabel = (UILabel *)[self.view viewWithTag:5];
[theLabel.layer setPosition:CGPointMake(100, 200)];

这是正确的做法吗?

【问题讨论】:

    标签: ios uilabel subview


    【解决方案1】:

    没有必要进入层级,虽然它可能工作正常。

    theLabel.center = CGPointMake(100,200);
    

    我猜想这样做也是一样的,无需查看文档来验证图层的默认锚点是否为其中心。

    【讨论】:

      【解决方案2】:

      您可以通过 for 循环使用快速枚举:

      for (UIView *view in [self.view subViews]) {
           if([view isKindOfClass:[UILabel class]]) {
                // do your stuff here
           }
      }
      

      试试这个,一定会成功的。

      【讨论】:

      • 如果我有很多标签就不行了,它们都会一起移动。
      • 我最喜欢的一点是iskingOfClass :)
      【解决方案3】:

      要检索标签,如果您在 Interface Builder 中创建它,请使用 IBOutlet,如果在代码中创建,请使用原始属性或 ivar。如果您有直接引用(插座、属性、ivar),则无需循环子视图或使用viewWithTag。

      要移动标签,直接设置其frame或center属性,无需访问其层。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多