0

UIViewController在情节提要中有一个 UIView/UIViewController (),其中包含一个CustomView具有关联 .xib 文件的自定义 UIView ()。我在加载时遇到以下现象UIViewController

  • CustomViewawakeFromNib函数被调用
  • SOMETHING(?) 将我的子视图的框架设置为 0.0 的高度;堆栈跟踪显示[UIViewController autoresizedArchivedView](相关?)
  • UIViewControllerviewDidLoad函数被调用

知道这之间发生的“东西”是什么,awakeFromNib以及viewDidLoad我如何控制它吗?

4

1 回答 1

0

直到viewDidLoad之后,才在归档对象上设置几何属性:

    - (void)viewDidLoad
    {
        [super viewDidLoad];
        NSLog (@"%@ %@",
               NSStringFromSelector(_cmd),
               NSStringFromCGRect(self.testView.frame));

    }

    - (void) viewWillAppear:(BOOL)animated
    {
        [super viewWillAppear:animated];
        NSLog (@"%@ %@",
               NSStringFromSelector(_cmd),
               NSStringFromCGRect(self.testView.frame));
    }


    - (void) viewDidAppear:(BOOL)animated
    {
        [super viewDidAppear:animated];
        NSLog (@"%@ %@",
               NSStringFromSelector(_cmd),
               NSStringFromCGRect(self.testView.frame));
    }

日志:

    viewDidLoad {{0, 0}, {0, 0}}
    viewWillAppear: {{0, 0}, {0, 0}}
    viewDidAppear: {{80, 224}, {160, 274}}
于 2013-03-27T05:02:26.413 回答