Arhn - архитектура программирования

Изменение размера UILabell в iOS 7.1 в пользовательской ячейке

У меня есть табличное представление с пользовательскими ячейками. Я использую Xcode 5.1 и iOS 7.1. Я хотел бы настроить высоту UILabel в зависимости от длины строки, а также динамически настроить высоту ячейки, чтобы она соответствовала метке.

In

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

    cell.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
    cell.titleLabel.numberOfLines = 0;
    [cell.titleLabel sizeToFit];

Некоторые, кажется, правильно изменяют размер, другие - нет. Что касается высоты ячейки, я не могу обновить ее в зависимости от высоты метки.



Ответы:


1

Высота ячейки определяется исключительно значением, которое вы возвращаете из tableView:heightForRowAtIndexPath:. Это метод <UITableViewDelegate>.

Если вы хотите, чтобы высота ячейки была динамической, вам нужно будет выполнить расчет в tableView:heightForRowAtIndexPath: на основе конкретной строки, которая появляется в этом индексном пути.

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

15.04.2014

2
  • Потрясающий! Это отлично сработало для меня с изменением размера ячеек табличного представления. Я все еще сталкиваюсь с проблемой с самой меткой. Несмотря на то, что метка простирается полностью слева направо, иногда текст заканчивается так: Текст Текст Текст Текст (один поверх другого) Вместо этого из: text text text text (в одну строку, расширяющую всю ячейку), или вы щелкаете по ячейке, нажимаете на контроллер представления и возвращаетесь, и он выглядит так, как должен, но при прокрутке вы видите некоторые перепутанные. 16.04.2014
  • дайте скрин, если можно 17.04.2014
  • Я загрузил фотографии в папку в Dropbox — dropbox.com/sh/4016fxw8qfutpoq/jtVwMw8zQs Если вам нужно больше, просто дайте мне знать. Некоторые строки вычисляются правильно, но усекаются, другие работают, но складываются странно. 17.04.2014
  • Также кажется, что когда вы видите перепутанные метки, щелкните ячейку, нажмите новую ВК и вернитесь назад - те, которые были перепутаны, вроде бы исправлены. 17.04.2014
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..