2012-11-06 36 views
1

我试图从一些UILabels(这是一个插座集合的一部分)的中心属性获取CGPoint。现在,当我这样做:UILabel.center是0?这怎么可能?

for (UILabel *label in labelCollection) { 
     NSLog(@"%f", label.center.x); 
} 

它只是返回0,与center.y相同?怎么来的?我需要提前这些坐标嘿嘿:)

感谢

//编辑 上传的图片:以“A”“B”“C”“d”的标签,是我说的标签。我试着改变代码中的text.property,这很好,但它不会给我它的坐标。 example

+0

是否删除约束运行该循环时标签在屏幕上显示? –

+0

是的,它们正在屏幕上显示。 – Seerex

+0

我想尝试记录他们的帧值,看看是否有任何可疑的东西。 (NSStringFromRect(label.frame)) –

回答

0

我想出了答案,这与我在做viewDidLoad中的所有事情有关,我应该在viewDidAppear中做这件事。它必须是因为在viewDidLoad上,它还没有被放置,因此我仍然可以改变文本,因为对象标签被创建了,但是我不能得到它还没有放置的原点。

感谢帮助小伙子。

+0

或在'awakeFromNib'中。加载视图之前,对象不是“那里”。 'viewWillAppear'和'viewDidAppear'之前发生了什么。 – EricLeaf

0

验证该视图是否具有超级视图。该值取决于超视图的坐标。

+0

我在故事板编辑器的主视图背景添加了视图,他们应该有一个超级视图,否则他们无法添加到屏幕上,他们可以吗? – Seerex

+0

虽然,我确实将它转换为UIController而不是UIView的子类,也许这会弄乱它? – Seerex

+0

只是将它改回为UIView,仍然是同样的问题 – Seerex

0

您删除的约束,然后运行该应用程序可能会限制创建问题,因为新的Xcode的限制,某些功能和属性创建的问题,所以首先通过取消选中“使用autlayout”,那么你检查应用程序