在子视图的awakeFromNib和view的viewDidLoad之间调用了哪些函数?

时间:2013-03-27 00:05:53

标签: objective-c cocoa-touch viewdidload autoresize awakefromnib

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

  • CustomView的{​​{1}}函数称为
  • SOMETHING(?)将我的子视图的帧设置为0.0的高度;堆栈跟踪显示awakeFromNib(相关?)
  • [UIViewController autoresizedArchivedView]的{​​{1}}函数称为

知道UIViewControllerviewDidLoad之间发生了什么“某事”以及我如何控制它?

1 个答案:

答案 0 :(得分: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}}