проблемы непрозрачные на конструкторе интерфейса - PullRequest
1 голос
/ 11 сентября 2011

Я изучаю программирование на iOS. но у меня есть проблема, которая непрозрачна.

теперь предположим. у меня есть два просмотра изображений.

когда я пишу код, это работает. код здесь.

UIImageView *imageView1 = [[UIImageView alloc] initWithImage:@"something1"];
UIImageView *imageView2 = [[UIImageView alloc] initWithImage:@"something2"];
imageView2.opaque = NO;
[controller addSubView:imageView1];
[controller addSubView:imageView2];

Теперь imageView2 находится в imageView1. но свойство imageView2 непрозрачно установлено в NO.

, поэтому я могу видеть только imageView1. Хорошо. это то, что я хочу.

но я хочу сделать проще. поэтому я использую интерфейсный конструктор.

У меня есть два изображения. один подключен IBOutlet ImageView * imageView1

и еще один - IBOutlet ImageView * imageView2.

и я установил инспектор imageView2. и снимите флажок непрозрачный.

и я его строю. так что я думаю, что это тот же эффект, что и код выше.

но imageView2 находится на imageView1.

это не исчезнет.

почему это?

почему код может работать, а конструктор интерфейса - нет?

Ответы [ 2 ]

2 голосов
/ 11 сентября 2011

Непрозрачное свойство UIView используется для определения, может ли представление оптимизировать операции компоновки. Вы должны установить альфа-свойство.

1 голос
/ 11 сентября 2011

Добавленные в коде подпредставления будут размещаться друг над другом в порядке, который вы называете addSubview.Чтобы добавить подпредставление в определенной Z-позиции, используйте insertSubview: atIndex:.

. В построителе интерфейса вы должны вручную управлять наложением слоев с помощью меню (отправить назад и т. Д.), В противном случае будет включен последний добавленный вид.Топ.

Параметр opaque должен быть установлен на YES, если вы хотите, чтобы вид полностью скрывал вид снизу.Если вы хотите, чтобы вид снизу показывался сквозь, установите opaque на NO и установите альфа (прозрачность), как вы хотите.

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