addSubview не работает
Я добавлю метку к изображению с помощью addSubview, но это не работает.
вот код:
.h
UIImageView *bgimage;
IBOutet UILabel *loadingLabel;
.m
loadingLabel.text =@"......";
bgimage = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,320,480)];
bgimage.image = [UIImage imageNamed:@"Wait.png"];
[self.view addSubview:bgimage];
[bgimage addSubview:loadingLabel];
Скриншот:
"Tisch Wird Reserviert..." является меткой загрузки и ярлык должен быть в UiImage
Это "Макет" с кодом из 2-го ответа
2 ответа
Измените свой код как...
.час
IBOutet UIImageView *bgimage;
UILabel *loadingLabel;
.m
bgimage.image = [UIImage imageNamed:@"Wait.png"];
loadingLabel = [[UILabel alloc] init];
loadingLabel.frame = CGRectMake(0, 0, 100, 50);
loadingLabel.text = @"testing";
[bgimage addSubview:loadingLabel];
Это будет работать.
Вы не можете добавить подпредставление к представлению uiimage, так как drawRect: никогда не будет вызываться. source: "Класс"UIImageView оптимизирован для отображения его изображений на дисплее. UIImageView не будет вызывать drawRect: метод подкласса. Если вашему подклассу требуется пользовательский код для рисования, рекомендуется использовать UIView в качестве базового класса."Из документов Apple: https://www.google.de/#bav=on.2,or.r_qf.&fp=90e2434f04e1ee9b&q= UIImageView + класс + ссылки и безопасно = выкл
Решение: Как предложено, используйте uiview, чтобы содержать как метку, так и изображение, а затем перенесите метку наверх, используя -bringSubviewtoFront: из UIView. Вы также можете использовать фоновое изображение UIViews, чтобы показать свое изображение, а затем иметь метку в качестве подкласса в этом представлении. Я полагаю, зависит от ситуации, в которой вы находитесь.
РЕДАКТИРОВАТЬ: ВЫ ДОЛЖНЫ ПРОЧИТАТЬ ЭТО: Я неправильно прочитал вопрос, и кажется, что вы можете добавить подпредставления в UIImageView, как указывал Зев в своем комментарии. Прямо сейчас я предполагаю, что -bringSubviewToFront помог вам, и что остальная часть моего ответа, хотя и не очень вредная, была излишней. Мне жаль.