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-го ответа

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 помог вам, и что остальная часть моего ответа, хотя и не очень вредная, была излишней. Мне жаль.

Другие вопросы по тегам