Вопрос по ios, iphone – Не обновлять подпредставление альфа-значением superview

17

Мой вопрос заключается в том, когда я добавил представление как подпредставление в корневое представление. Когда я изменил альфа-значение корневого представления, то же самое происходит и в подпредставлении. На самом деле мне не нужно обновление в подпредставлении. Есть ли какое-либо решение для этого.

Ваш Ответ

4   ответа
42

Это изменит только альфа корневого представления, а не другие

    self.view.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.5];
Error: User Rate Limit Exceeded SURESH SANKE
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
9

Основываясь на ответе @shabbirv, можно также использовать палитру цветов IB.

color picker

1

Это также решит эту проблему, изменив цвет корневого представления следующим образом, это не повлияет на подпредставление.

[rootView setBackgroundColor:[[UIColor blackColor] colorWithAlphaComponent:0.7]];
2

Вам необходимо изменить структуру своих представлений. Вместо того, чтобы размещать ваши подпредставления в представлении корней, создайте слой поверх вашего корневого представления, но все же добавьте подпредставления в корень. При изменении альфа-слоя он не влияет на подпредставления. Пример структуры ниже.

Ваша текущая структура:

RootView->Subviews //Changing RootView alpha effects Subviews.

Необходимая структура:

RootView->View->Subviews(Still Added to RootView) //Changing alpha of Layer doesn't effect subviews.

Надеюсь это поможет.

Error: User Rate Limit Exceeded SURESH SANKE
Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededUIViewError: User Rate Limit Exceeded

Похожие вопросы