IOS динамически создает UILABEL не возвращает ожидаемый результат - PullRequest
0 голосов
/ 25 января 2012

Я ожидаю, что этот код будет производить тест меток 5 раз, однако он производит 5 меток, 4 из которых имеют только 2 точки, а последняя имеет правильный тест строки.

 - (void)viewDidLoad
{
    int n = 5;
    int yValue = 100;
    for(int i = 0; i < n; i++){
        UILabel *label =  [[UILabel alloc] initWithFrame: CGRectMake(0, yValue, 80, 44)];
        label.text = @"text"; //etc...
        [self.view addSubview:label];
        yValue += 20;
    }

    [super viewDidLoad];


}

Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 26 января 2012

Высота метки - 44. Дельта между метками - 20, меньше 44. Установите yValue + = 44, и я думаю, что вы увидите mora, чем 2 точки.я думаю, что точки - вершина 't' букв.

0 голосов
/ 25 января 2012

Установите шрифт, цвет текста и цвет фона, например,

label.font = [UIFont systemFontOfSize:10];
label.textColor = [UIColor blackColor];
label.backgroundColor = [UIColor clearColor];

(код, написанный из памяти; не проверено. Но вы поняли).

Когда вы создаете такую ​​метку, вы должны установить все эти вещи, которые мы иначе принимаем как должное при использовании Interface Builder.

...