0

我只是想获取 UIViewController 中包含的 UIView iVar 的帧坐标。例如,如果but0是iVar,并且这个fcn是从ViewController的ViewDidLoad方法中调用的:

CGFloat x = self.but0.frame.origin.x;

无论使用 Interface Builder 将按钮放置在何处,这始终返回 0。我错过了什么?

4

2 回答 2

1

编辑: Spectravideo328 是对的,你应该使用viewWillAppearor viewDidAppear

您可以尝试从 UIView 转换框架。
就像是:

CGRect frame = [self.view convertRect:btn.frame fromView:tableView.frame];

于 2013-02-15T21:47:31.887 回答
0

ViewDidLoad 加载视图,但尚未设置框架/边界。ViewDidAppear 保证在设置框架/边界后发生。使用那个方法。

于 2013-02-15T21:47:22.770 回答