У меня есть UITableViewController
. Я создаю для него свой собственный заголовочный файл tableView
в методе loadView
, например:
(void)loadView {
[super loadView];
UIView* containerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, width, height * 2 )];
containerView.tag = 'cont';
containerView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin;
UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(padding, height, width, height);
... //configure UIButton and events
UIImageView* imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.png"] highlightedImage:[UIImage imageNamed:@"highlight.png"]];
imageView.frame = CGRectMake(0, 0, width, height );
... //configure UIImageView
[containerView addSubview:button];
[containerView addSubview:imageView];
self.tableView.tableHeaderView = containerView;
[imageView release];
[containerView release];
}
Ни один из других методов (viewDidLoad/Unload и т.д.) не перегружен.
Этот контроллер размещен на вкладке. Когда я переключаюсь на другую вкладку и имитирую предупреждение о памяти, а затем возвращаюсь к этой вкладке, мой UITableView
отсутствует мой заголовок custon. Все строки/секции видны, как я ожидал. Полагая BP в коде loadView
выше, я вижу, что он вызывается, когда я переключаюсь обратно на вкладку после предупреждения о памяти, и все же я не могу видеть заголовок.
Любые идеи о том, что мне здесь не хватает?
EDIT: Это происходит на устройстве и симуляторе. На устройстве я просто предупреждаю о памяти, открыв кучу разных приложений, а мой - в фоновом режиме.