从UIView获取UILabel

时间:2013-06-13 21:25:36

标签: ios uilabel subview

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

从视图中检索标签的正确方法是什么。我想重新定位标签。以下是我用来检索标签并重新定位的信息:

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

这是正确的做法吗?

3 个答案:

答案 0 :(得分:2)

没有必要去图层,虽然它可能会正常工作。

theLabel.center = CGPointMake(100,200);

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

答案 1 :(得分:1)

您可以将快速枚举与for循环一起使用:

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

试试这个,一定会有效。

答案 2 :(得分:0)

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

移动标签,请直接设置其framecenter属性,而无需访问其图层。