Whenever a view becomes visible, a detail controller class instance will be allocated with -initForContentSize:, and then call -viewWillBecomeVisible: to notify that the view becomes visibile. There is also some other calls to the controller but you'd better leave them untouched.