Subview появляется позади tableview

Когда я добавляю подпредставление в свой UITableViewController, оно кажется под таблицей. Возможно, я неправильно загружаю свое подпредставление или звоню addSubview в неправильном месте. Подвид, на который я ссылаюсь, это красная область над панелью вкладок, которая также содержит кнопку "Нажмите меня":

http://i43.tinypic.com/30275gg.jpg

Вы можете видеть, что клеточные линии перекрывают друг друга. Вот где я добавляю подпредставление в моем TableViewController:

- (void)viewDidLoad {
    [super viewDidLoad];
    CGRect hRect = CGRectMake(0, 170, 320, 480);
    HomeScreenOverlayView *homeView = [[HomeScreenOverlayView alloc] initWithFrame:hRect];
    [self.tableView addSubview:homeView];
    [homeView release];
}

Есть идеи? Спасибо!

3 ответа

Решение

Когда вы вызываете addSubview, это, вероятно, первое представление, добавленное к представлению таблицы. Позже все ячейки и виды поддержки будут добавлены поверх вашего представления.

Лучше всего создать пустое представление и добавить к нему как табличное представление, так и представление с наложением, убедившись, что представление с наложением находится над представлением таблицы.

Представления выполняют 3 роли рисования, взаимодействия и макета. Хорошо иметь представление, которое выполняет только одну из этих ролей.

Я сам столкнулся с этой проблемой и решил ее, не добавляя представление к таблице, а добавляя представление к суперпредставлению таблицы.

UIView *viewToAdd = [[UIView alloc] initWithFrame: self.view.frame];
[self.view.superview addSubview: viewToAdd];

Это особенно полезно, когда вы хотите замаскировать всю таблицу (например, экраны загрузки).

NB Я обычно добавляю это к viewWillAppear: в жизненном цикле представления.

Ты можешь использовать - (void)sendSubviewToBack:(UIView *)view или же - (void)insertSubview:(UIView *)view atIndex:(NSInteger)index, addSubview всегда ставит новый взгляд вперед.
РЕДАКТИРОВАТЬ: Извините, неправильно прочитал вопрос, похоже, вы хотите, чтобы подпредставление было впереди.

Другие вопросы по тегам