Ios 目标-c获取IB出口的位置

Ios 目标-c获取IB出口的位置,ios,objective-c,iboutlet,Ios,Objective C,Iboutlet,当我尝试 myLabel.frame.origin.x 它返回0.000000。 我怎样才能得到任何IB插座的准确位置 谢谢你在哪里做这个?连接插座之前,必须加载视图控制器的视图。一个安全的位置在awakeFromNib中。视图的框架相对于其父视图(superview)。要获取相对于屏幕的帧,请执行以下操作: CGRect screenRect = [myLabel convertRect:self.bounds toView:nil]; 要获取相对于其他视图的帧,请用其他视图替换nil。请

当我尝试

myLabel.frame.origin.x
它返回0.000000。 我怎样才能得到任何IB插座的准确位置


谢谢

你在哪里做这个?连接插座之前,必须加载视图控制器的视图。一个安全的位置在awakeFromNib中。

视图的框架相对于其父视图(superview)。要获取相对于屏幕的帧,请执行以下操作:

CGRect screenRect = [myLabel convertRect:self.bounds toView:nil];

要获取相对于其他视图的帧,请用其他视图替换
nil

请确保

  • 在加载NIB(viewDidLoad、awakeFromNib、viewDidX)后调用此函数
  • 您已经在interface builder中将视图连接到NIB
  • 有关从NIB中的视图连接到IBOutlet的详细信息,请参阅iOS开发者库上的本指南。。。

    你是在问如何获得相对于相对位置的绝对位置(帧是相对于superview的)。@ItayAmza我不知道你的意思。我在回答Edwin Iskandar的问题。不管怎样,我的问题是我怎样才能获得绝对位置。要回答埃德温的问题,请在他的问题上发表你的评论。我的回答不正是你想要的吗?如果没有,请定义“绝对位置”的含义。我想在视图中将UIBottunTypeContactAdd放置在标签旁边,因此在viewDidLoad中,我需要标签的位置,以便我可以使标签和按钮平行。假设标签和按钮具有相同的超级视图,只需获取标签的
    。使用帧的值设置按钮的帧。这应该是注释,而不是答案。我的问题是我想将UIBottunTypeContactAdd放置在标签旁边,所以我在viewDidLoad方法中调用它