Как разместить графический прямоугольник над таблицей в UIView - PullRequest
0 голосов
/ 10 февраля 2011

У меня есть UITableView, который отображается в UIView - причина, по которой я это сделал, заключается в том, что я хочу поместить сплошной прямоугольник над таблицей (с CGContextSetBlendMode kCGBlendModeMultiply) и постоянно менять его цвет, поэтому я получаю эффект от текста таблицы, постоянно меняющего цвет. Я не могу придумать какой-либо другой способ сделать это, но проблема, с которой я столкнулся, заключается в том, что цветной прямоугольник всегда появляется под таблицей и плотно сидит поверх (или ниже, если я изменяю порядок подпредставлений) других UIViews. Кажется, это не оказывает никакого влияния на стол, что бы я ни делал. Есть ли способ изменить порядок отображения в UIView? Стол связан с ИБ. Я не уверен, какую еще информацию я должен опубликовать для тех, кто может ответить! Большое спасибо за любую помощь.

1 Ответ

0 голосов
/ 10 февраля 2011

Чтобы покрыть ваш TableView другим UIView, охватывающий UIView должен иметь родственную связь с TableView или с одним из предков TableView. Если TableView «показан в UIView», тот UIView, в котором он отображается, никогда не сможет скрыть TableView. Дочерние взгляды всегда скрывают родительские взгляды. Создайте еще один UIView внутри «показанного в UIView», тогда это будет одноуровневое представление TableView, и его можно поместить поверх него. Как это:

UIView *parentView = [[UIView alloc] initWithFrame:parentFrame];
UITableView *tableView = [[UITableView alloc] // table create parameters....
[parentView addSubiew:tableView];
UIView *obscuringView = [[UIView alloc] initwithObscuringFrame];
[parentView addSubView:obscuringView];

Затемненное представление будет располагаться поверх представления таблицы.

...