UILabel не выравнивается по центру при упаковке - PullRequest
2 голосов
/ 20 июня 2010

См. Изображение, например: http://img25.imageshack.us/img25/6996/90754687.png
Серый фон указывает размер рамки UILabel.

По какой-то причине первая строка переносимого текста не всегда центрируется, хотя я использую UITextAlignmentCenter.

Вот код, который я использую для настройки своих меток:

    self.titleLabel = [[UILabel alloc] initWithFrame:CGRectZero];
    titleLabel.font = [UIFont boldSystemFontOfSize:fontHeight];
    titleLabel.backgroundColor = [UIColor grayColor];
    titleLabel.numberOfLines = 2;
    titleLabel.lineBreakMode = UILineBreakModeMiddleTruncation;

    NSString * title = file.name;
    CGSize maximumSize = CGSizeMake(thumbnailWidth+4,fontHeight * 3);
    UIFont * font = [UIFont boldSystemFontOfSize:12];
    CGSize stringSize = [title sizeWithFont:font constrainedToSize:maximumSize lineBreakMode:titleLabel.lineBreakMode];

    CGRect stringFrame = CGRectMake(0, thumbnailHeight + thumbnailPadding, thumbnailWidth + 4, stringSize.height);
    titleLabel.text = title;
    titleLabel.frame = stringFrame;
    titleLabel.textAlignment = UITextAlignmentCenter;

1 Ответ

1 голос
/ 20 июня 2010

Это потому, что в тексте нет пробелов? В IB, похоже, реагирует так же, как вы, если у вас нет пробелов. Установка режима переноса строки на перенос символов приводит к центрированию вторых строк на первой, но это тоже может быть не совсем то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...