【发布时间】:2013-06-13 21:25:35
【问题描述】:
我在视图中添加了许多标签,为它们提供了标签。
从视图中检索标签的正确方法是什么。我想重新发布标签。这是我用来检索标签并重新定位它的方法:
UILabel *theLabel = (UILabel *)[self.view viewWithTag:5];
[theLabel.layer setPosition:CGPointMake(100, 200)];
这是正确的做法吗?
【问题讨论】:
我在视图中添加了许多标签,为它们提供了标签。
从视图中检索标签的正确方法是什么。我想重新发布标签。这是我用来检索标签并重新定位它的方法:
UILabel *theLabel = (UILabel *)[self.view viewWithTag:5];
[theLabel.layer setPosition:CGPointMake(100, 200)];
这是正确的做法吗?
【问题讨论】:
没有必要进入层级,虽然它可能工作正常。
theLabel.center = CGPointMake(100,200);
我猜想这样做也是一样的,无需查看文档来验证图层的默认锚点是否为其中心。
【讨论】:
您可以通过 for 循环使用快速枚举:
for (UIView *view in [self.view subViews]) {
if([view isKindOfClass:[UILabel class]]) {
// do your stuff here
}
}
试试这个,一定会成功的。
【讨论】:
iskingOfClass :)
要检索标签,如果您在 Interface Builder 中创建它,请使用 IBOutlet,如果在代码中创建,请使用原始属性或 ivar。如果您有直接引用(插座、属性、ivar),则无需循环子视图或使用viewWithTag。
要移动标签,直接设置其frame或center属性,无需访问其层。
【讨论】: