Текстовая метка Word Wrapping

Я использую текстовую метку для отображения ранее введенной пользовательской информации, которая была сохранена. У меня проблемы с размещением всей даты и времени в одной строке. Любая информация, выходящая за пределы определенной длины, не отображается в ярлыке. Я попытался сделать две вещи: 1) увеличить метку (это не помогло сохранить текст внутри метки) 2) изменить параметр "разрывы строк" ​​в инспекторе атрибутов на "перенос слов". Это тоже не решило мою проблему

Как сделать так, чтобы я мог включать всю информацию о дате / времени в одну и ту же метку, только с обернутым текстом, чтобы текст, выходящий за пределы экрана, переносился на следующую строку?

Приведенный ниже код показывает создание представления, снимки экрана показывают, как оно выглядит в приложении (часть текста в разделе "дата и время" не включена) и настройки, которые я установил в раскадровке для метки "дата и время"

Создание вида:

- (void)configureView
{
    Event *theEvent = self.event;

    static NSDateFormatter *formatter = nil;
    if (formatter == nil) {
        formatter = [[NSDateFormatter alloc] init];
        [formatter setDateFormat:@"cccc, MMMM dd, yyyy hh:mm a"];
    }
    if (theEvent) {
        self.detailLabel.text = theEvent.detail;
        self.locationLabel.text = theEvent.location;
        self.dateTimeLabel.text = [formatter stringFromDate:(NSDate *)theEvent.date];
    }
}

введите описание изображения здесьвведите описание изображения здесь

1 ответ

Решение

Параметр разрыва строки работает только в том случае, если количество строк установлено на ноль, а метка достаточно высокая, чтобы содержать более одной строки. Ты можешь позвонить sizeToThatFits: чтобы получить соответствующий размер для этикетки.

Вы также можете использовать параметр автоусадки, чтобы автоматически уменьшать размер текста, когда это необходимо.

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