Как программно добавить текст к UIView

У меня есть a UIView то, что я хотел бы добавить несколько битов текста к. Я использовал a UITextView но я думаю, что это - излишество, поскольку это не должно быть доступно для редактирования. Я думал об использовании a UILabel или a UITextField, но я не вижу, как Вы говорите суперпредставление, где расположить UILabel или UITextField в себе. Я хочу самый низкий объект места, который позволит мне поместить текст шрифта/цвета/размера моего выбора в моем UIView где я хочу это. Не слишком много для выяснения, а?

26
задан GingerHead 13 May 2014 в 18:52
поделиться

3 ответа

Самый простой подход для вас будет следующим:

UILabel *yourLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 300, 20)];

[yourLabel setTextColor:[UIColor blackColor]];
[yourLabel setBackgroundColor:[UIColor clearColor]];
[yourLabel setFont:[UIFont fontWithName: @"Trebuchet MS" size: 14.0f]]; 
[yourSuperView addSubview:yourLabel];

Создание или заполнение представлений в вашем коде, вероятно, потребует от вас частого использования CGRectMake. Как следует из названия, он создает прямоугольник, который вы можете использовать для установки относительного положения (относительно границ вашего супервида) и размера вашего UIView-подкласса (в данном случае UILabel).

Это работает следующим образом:

yourLabel.Frame = CGRectMake(x, y, width, height); //x,y,width,height are float values.

x определяет расстояние между левой границей супервью и началом подвью, которое вы собираетесь добавить, то же самое касается y, но относится к расстоянию между верхней границей супервью. Затем ширина и высота, думаю, не требуют пояснений.

Надеюсь, это поможет вам встать на путь истинный.

63
ответ дан 28 November 2019 в 06:18
поделиться

добавьте UILabel к вашему View. затем переопределите метод layoutSubviews View.

0
ответ дан 28 November 2019 в 06:18
поделиться

Вместо того чтобы искать способ указать представлению, где расположить UILabel, вы можете указать UILabel, где расположить себя в представлении, используя "center".

Например,

myLabel.center = CGPointMake(0.0, 0.0);

Надеюсь, вы сможете использовать UILabel, для меня это основная форма гибкого не редактируемого текста.

8
ответ дан 28 November 2019 в 06:18
поделиться