Установка альфа таблицы с прозрачным подпредставлением для UITableView - PullRequest
1 голос
/ 10 января 2012

Я добавил подпредставление поверх UITableView, используя:

TransparentViewController *tvc =
        [[TransparentViewController alloc] 
                initWithNibName:@"TransparentViewController" bundle:nil];
[self.view addSubview:tvc.view];

Мой перо содержит UIImageView, в котором есть текст и прозрачный фон.

Когда я загружаю detailView для таблицы в первый раз, я показываю подпредставление, которое дает краткое объяснение информации, которую вы можете увидеть под текстом. Работает очень хорошо.

Что я хотел бы сделать, так это изменить альфа базовой таблицы так, чтобы она была тусклее, но не влияла на альфу вложенного подвида. Если я использую:

[self.view setAlpha:(CGFloat)];

Это также уменьшает наложение. Кажется, у меня психическая блокада.

1 Ответ

1 голос
/ 10 января 2012

Изменение альфа также влияет на подпредставления. Ваш tvc.view является подпредставлением self.view, поэтому оно, естественно, будет затронуто.

Почему бы вам не попробовать это: поместите другое представление в tvc.view и отправьте это представление в это представление назад.

(UIView*) back = [[UIView alloc] initWithFrame:CGFrameMake(...)];
back.backgroundColor = [UIColor grayColor]; // choose a color that you like;
back.alpha = 0.5; // whatever works for you
[tvc.view addSubview:back];
[tvc.view sendSubviewToBack:back];

Установите размер и альфа этого нового представления на то, что вам нравится. Табличное представление будет проходить через него в ограниченной степени, что может выполнить то, что вы пытаетесь сделать.

Так как это является частью нашего представления ТВ, оно появится, когда вы покажете этот вид, и исчезнет, ​​когда вы его спрячете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...