Apple Interface Builder: добавление подвида в UIImageView
Я создал UIImageView
с помощью интерфейса Bulder. Теперь я хочу разместить метку внутри него (как его подвида). В коде я могу ввести что-то вроде: [myUIImageView addSubview:myUILabel];
но могу ли я сделать это с помощью IB? Я нашел решение для UIView
, но не могу найти что-то похожее на UIImageView
.
4 ответа:
вы не можете добавить подвид в UIImageView в interface builder по причинам, известным только Apple! Вы правы, говоря, что вы можете добавить subview программно, но тогда накладные расходы на установку авторезистивных масок и размещение подвидов должны обрабатываться в коде, что является громоздким.
таким образом, есть простой обходной путь. Вместо того, чтобы перетаскивать экземпляр UIImageView в nib, просто перетащите UIView и измените его класс на UIImageView из UIView (опция cmd+4 инспектор.) Единственное отличие, которое вы найдете в nib для экземпляра imageView по умолчанию и вашего нового экземпляра подкласса UIImageView: вы не можете установить изображение в свой новый imageView из nib (опция cmd+1). Итак, в
-viewDidLoad
метод его соответствующего viewController, установите изображение на этот выход UIImageView.таким образом, вы можете добавлять вложенные представления в свои экземпляры "now UIImageView" в interface builder, что намного проще.
надеюсь, что это помогает . . .
Я хотел бы добавить ответ.
в то время как это отстой вы не можете добавить подвида в
поставить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];
(вместо фон.png с изображением) (замените atIndex:0 С каким бы то ни было местом .корневой индекс вы хотите вставить изображение и ваш.