Apple Interface Builder: добавление подвисты в Uiimageview
-
19-09-2019 - |
Вопрос
я создал UIImageView
С помощью интерфейса бульдера. Теперь я хочу разместить этикетку внутри него (как его подвиг). В коде я могу ввести что -то вроде: [myUIImageView addSubview:myUILabel];
Но могу ли я сделать это с помощью IB? Я нашел решение для UIView
, но не могу найти что -то похожее на UIImageView
.
Решение
Вы не можете добавить подвет к Uiimageview в интерфейсном строителе только по причинам, известным Apple! Вы правы в том, что вы можете программно AddSubview, но затем накладные расходы установки авторезиции масок и размещения подвесок должны быть обработаны в коде, что является громоздким.
Так что есть легкий обходной путь. Вместо того, чтобы перетащить экземпляр Uiimageview в NIB, просто перетащите UiView и измените его класс на UiimageView из Uiview (CMD+4 опция инспектора). Единственная разница, которую вы найдете в экземпляре NIB для экземпляра ImageView по умолчанию и ваш новый экземпляр подкласса UiimageView: вы не можете установить изображение в свой новый ImageView из NIB (параметр CMD+1). Итак, в -viewDidLoad
Метод соответствующего ViewController, установите изображение в эту выпуску Uiimageview.
Таким образом, вы можете добавлять субвиды в ваши экземпляры "Now uiimageview" в интерфейсном строительном застройке, что намного проще.
Надеюсь это поможет . Анкет Анкет
Другие советы
Я хотел бы добавить ответ.
Пока это отстой, вы не можете добавить субвив в UIImageView
, вы можете получить тот же эффект, включив UIView
с прозрачным (чистым цветом) фона.
Затем положить UIImageview
Перед этим.
Итак UIView
имеет подвесили и UIImageview
это фон UIView
.
Я думаю, что это намерение Apple.
Вот скриншот:
Вот результат:
Не забудьте установить фон как прозрачный цвет
Теперь, если кто -то действительно может указать мне на учебник, как это сделать, это будет здорово. Я потратил часы, делая это, проверенный ответ. Проверенный ответ - отличный ответ, но очень неинтуитивный, потому что вы не можете ясно видеть свое фоновое изображение во время работы. Я думаю, что мой - правильный способ сделать это.
В последнем Xcode (4.5) есть возможность перетаскивать и отказаться от необходимых элементов управления для родителей.
Это довольно просто. Прикрепленный снимок экрана для того же. Я перетащил метку/текстовое поле и кнопку в Uiimageview
Используйте этот код:
UIImage *image = [UIImage imageNamed:@"background.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
[self.view insertSubview:imageView atIndex:0];
(заменять founal.png с изображением) (заменять atindex: 0 С любым местом в корне .индекс вы хотите вставить изображение и свое время.