Форум программистов, компьютерный форум CyberForum.ru

Как наполнять UITableView ячейками разной высоты? - Objective-C

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C Не могу понять терминологию http://www.cyberforum.ru/objective-c/thread1263822.html
Не очень могу понять обозначение "свойство", @property, "методы доступа свойств" и тому подобное. Изучаю программирование по книжке от O'RALLY "Программируем для iPhone и iPad". Как себе можно представить это свойство? Между тем, тут хочется задать еще один вопрос. Это нормально, что когда я читаю книгу, у меня возникают проблемы с пониманием терминологии ( действие, операции, событие ), поэтому...
Objective-C Объясните про агрегацию (она же композиция, она же включение) Добрый день! В одной очень умной книжке на англ языке встретился с понятием Object Composition. Нашел варианты перевода как агрегация, включение и композиция. Что это такое мне не совсем понятно (кроме того что это альтернатива наследования) по этому прошу дать объяснение: 1. Что это, собственно, за зверь такой, 2. Как он реализуется в Obj-C, 3. В каких случаях его лучше применять, 4.... http://www.cyberforum.ru/objective-c/thread1263214.html
Objective-C Зачем нужно свойство @property (assign)
Для чего нужно свойство property (assign)? Как мне обратиться к полю класса, если оно под @property? Что будет, если убрать его? Я так понимаю это как-то связано с геттерами и сеттерами. При создании cocoa приложения столкнулся с тем, что поле NSWindow как раз с этим свойством, и поэтому я не могу обращаться к window из другого класса. Поймите правильно, мне часто приходится обращаться к этому...
Objective-C NSAttributedString - Как вставить HTML?
NSString *string = @"<p>ewrtgh</p><p>werg</p><p>werg</p>"; NSData *textData = ; NSDictionary *options = @{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: @(NSUTF8StringEncoding) }; NSError *error = nil; NSAttributedString...
Objective-C Как писать приложение для двух версий iOS? http://www.cyberforum.ru/objective-c/thread1260368.html
Я так понимаю обычно актуальны две версии iOS, на данный момент это 7 и 8. Для отладки и тестирования приложения потребуются два устройства. А как быть с Xcode?
Objective-C Передача данных из одного View Controller в другой посредством делегатов Бьюсь вторую неделю. Имеется два View Controller-а, которые переключаются через Tab Bar Controller. В одном View Controller-e выполняется основная работа, во втором - настройки программы. Необходимо передать измененные пользователем настройки из второго View Controller-a первому. Создал новые файлы: KTsendData.h #import <Foundation/Foundation.h> @protocol KTsendDataDelegate <NSObject>... подробнее

Показать сообщение отдельно
edward_jonson
 Аватар для edward_jonson
157 / 157 / 25
Регистрация: 23.02.2011
Сообщений: 388
03.10.2014, 02:15     Как наполнять UITableView ячейками разной высоты?
Создайте где-нибудь метод, желательно в классе новостей(если такой есть), типа
Objective-C
1
2
3
4
5
6
7
8
9
+(CGFloat)heightOfNews:(News *)news
{
    CGSize maximumLabelSize = CGSizeMake(310, 1000); // 310 - максимальная ширина лейбла, 1000 - максимальная высота 
    CGRect textRect = [news.content boundingRectWithSize:maximumLabelSize  // news.content - то, что надо отобразить
                                        options:(NSStringDrawingUsesLineFragmentOrigin)
                                     attributes:@{NSFontAttributeName:[UIFont fontWithName:@"System" size:18]} // используемый для новости шрифт
                                        context:nil];
    return textRect.size.height + 140; // 140 - то, что постоянно, суммарная высота отступов и тп
}
который будет возвращать высоту ячейки основываясь на параметрах исходного текста. Соотвественно если лейблов много разных, используйте несколько boundingRectWithSize: ...

А потом в tableView:heightForRowAtIndexPath: будете писать
Objective-C
1
return [News heightOfNews:self.news[indexPath.row]];
 
Текущее время: 22:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru