Подтвердить что ты не робот

Apple Interface Builder: добавление subview в UIImageView

Я создал UIImageView с помощью Interface Bulder. Теперь я хочу разместить в нем ярлык (как его подзаголовок). В коде я могу напечатать что-то вроде: [myUIImageView addSubview:myUILabel]; Но могу ли я сделать это с помощью IB? Я нашел решение для UIView, но не могу найти что-то подобное для UIImageView.

4b9b3361

Ответ 1

Вы не можете добавить subview в UIImageView в построителе интерфейса по причинам, известным только Apple! Вы правы, говоря, что вы можете addSubview программно, но тогда накладные расходы на установку авторезистирующих масок и мест размещения подзапросов должны обрабатываться в коде, что является громоздким.

Итак, есть простой способ. Вместо того, чтобы перетаскивать экземпляр UIImageView в nib, просто перетащите UIView и измените его класс на UIImageView из UIView (опция cmd + 4 инспектор). Единственное отличие, которое вы обнаружите в nib для экземпляра imageView по умолчанию и вашего нового подкласса UIImageView: вы не можете установить изображение в новое изображениеView из nib (опция cmd + 1). Таким образом, в методе -viewDidLoad своего соответствующего viewController установите изображение на этот выход UIImageView.

Таким образом, вы можете добавлять субвью в свои экземпляры "теперь UIImageView" в построителе интерфейса, что очень просто.

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

Ответ 2

Я хотел бы добавить ответ.

Пока он отстой, вы не можете добавить subview в UIImageView, вы можете получить тот же эффект, включив UIView с прозрачным (четким цветом) фон.

Затем поместите UIImageView ДО этого.

Таким образом, UIView имеет подзоны, а UIImageView является фоном UIView.

Я думаю, что намерение яблока.

Вот скриншот:

enter image description here

Вот результат:

enter image description here

Не забудьте установить фон как чистый цвет

enter image description here

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

Ответ 3

В последнем XCode (4.5) есть возможность перетащить необходимые элементы управления родительскому элементу.

Это довольно легко. Прикрепленный снимок экрана для него. Я перетащил Label/TextField и Button в UIImageView enter image description here

Ответ 4

Используйте этот код:

UIImage *image = [UIImage imageNamed:@"background.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
[self.view insertSubview:imageView atIndex:0];

(замените background.png на изображение) (замените atIndex: 0 тем местом, в котором находится корень .index, вы хотите вставить изображение и выкл.