У меня есть UITableViewController
. Я создаю собственный headerView для его 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
выше, я вижу, что он вызывается, когда я переключаюсь обратно на вкладку после предупреждения о памяти, и все же я не могу видеть заголовок.
Есть идеи о том, что мне здесь не хватает?
РЕДАКТИРОВАТЬ: Это происходит на устройстве и симуляторе. На устройстве я просто позволяю предупреждению памяти появиться, открыв кучу разных приложений, пока мое находится в фоновом режиме.