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

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
petrovichtim
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 26
#1

Построение двух-колоночной таблицы в UITableView - Программирование iOS

10.03.2014, 18:13. Просмотров 1469. Ответов 15
Метки нет (Все метки)

Добрый день уважаемые товарищи!
Хочу построить в UITableView обычную таблицу с двумя колонками.
В ячейку (Cell) я динамически создаю 2 UITextView и хочу чтобы они меняли свою ширину и высоту в зависимости от текста. Ну или хотя бы выглядели более- менее солидно.
Прошу поделится опытом построения табличных интерфейсов или подшаманить мой код.
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{ NSString *cellIdentifier = @"Cell";
   // UIr *label;
    
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    if (cell == nil)
    {
        //здесь можно не просто создать ячейку, можно добавить в нее даже картинки
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier] ;
        UITextView *tw=[[UITextView alloc] initWithFrame:CGRectMake(0, 0, cell.frame.size.width/2, 150)];
        tw.tag=1;
        tw.editable = NO;
        tw.layer.borderWidth = 2.0f;
        tw.layer.borderColor = [[UIColor grayColor] CGColor];
        [cell.contentView addSubview:tw];
        UITextView *tw2=[[UITextView alloc] initWithFrame:CGRectMake(cell.frame.size.width/2, 0, cell.frame.size.width/2, 150)];
        tw2.tag=2;
        tw2.editable = NO;
        tw2.scrollEnabled=true;
        tw2.layer.borderWidth = 2.0f;
        tw2.layer.borderColor = [[UIColor grayColor] CGColor];
        [cell.contentView addSubview:tw2];
    }
    
    
    NSString *word = _words[indexPath.row];
    //cell.textLabel.text =[word description];
    UITextView *tw=(UITextView*) [cell viewWithTag:1];
    tw.text=@"первая строка ";//[word description];
    
    UITextView *tw2=(UITextView*) [cell viewWithTag:2];
    tw2.text=@"вторая строка  вам вав амрваимрм вармива мамиврм рваимвамр врара маврм ваи  ";//[word description];
    CGRect rect=tw2.frame;
    rect.size.height=tw2.contentSize.height;
    tw2.frame=rect;
    cell.frame.size.height = tw2.contentSize.height;
    return cell;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2014, 18:13     Построение двух-колоночной таблицы в UITableView
Посмотрите здесь:
Несуществующий UITableView
Сортировка в UITableView
UITableView Section Objective-C
Индексация ячеек в UITableView
UITableView запутался с вьюхой
Swift Передать из UITableView в UIWebView
Работа с жестами в UITableView
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
10.03.2014, 18:55     Построение двух-колоночной таблицы в UITableView #2
Несколько уточняющих вопросов и комментариев:
1. Ширина "колонок" фиксирована или тоже от контента зависит? Судя по коду таки фиксирована, но "написал" и "хотел написать" - 2 большие разницы
2. Чем не полюбился UICollectionView?
3. if (cell == nil). Если вы перестанете использовать архаичные подходы, это условие не сработает никогда.
4. Почему не создать UI ячейки в Interface Builder'е? Это же быстрее, проще и нагляднее.
5. На сколько я понял, ваш главный вопрос - как изменить высоту ячейки? для этого в делегате есть специальный метод. В вашем случае я бы создал ячейку, и в этом методе загружал в нее текст и спрашивал у нее же какая высота ей нужна.
petrovichtim
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 26
10.03.2014, 19:10  [ТС]     Построение двух-колоночной таблицы в UITableView #3
1.Ширина должна зависеть от контента.
2. Не умею его готовить(
3. Согласен, пока таскаю как апендикс
4.Толком с ним не разобрался, если есть на русском материал, прошу поделитесь
5. Что-то вроде того и хочу
petrovichtim
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 26
12.03.2014, 18:50  [ТС]     Построение двух-колоночной таблицы в UITableView #4
Вопрос до сих пор не снят. Ячейки рисую в стори боард.
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
12.03.2014, 21:08     Построение двух-колоночной таблицы в UITableView #5
petrovichtim, UITableView это не NSTableView в Cocoa, он не предназначен для отображения информации в нескольких колонках.
Используйте UICollectionView. Для вашей задачи даже не придется UICollectionViewLayout переписывать, уже есть UICollectionViewFlowLayout.
2. Не умею его готовить(
Готовить люди учатся. Вот и научитесь. Банальных туториалов - полно.
petrovichtim
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 26
12.03.2014, 23:14  [ТС]     Построение двух-колоночной таблицы в UITableView #6
первая же выдача поиска тынц говорят не торт
я хочу простую таблицу : ячейка слева, ячейка справа - внутри текст
все что находил или устарело или в один столбец или вообще битые ссылки
Vorona
Peace 2 all shining faces
667 / 529 / 45
Регистрация: 05.03.2010
Сообщений: 1,273
13.03.2014, 01:36     Построение двух-колоночной таблицы в UITableView #7
создайте класс наследник UITableViewCell и спокойно задайте в ячейке столько колонок, сколько вам надо, в чем проблема?
программно, естественно
Миниатюры
Построение двух-колоночной таблицы в UITableView  
petrovichtim
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 26
13.03.2014, 10:15  [ТС]     Построение двух-колоночной таблицы в UITableView #8
Во-первых нужен пример, во-вторых у Вас прекрасная таблица, но у неё текст в одну строчку.
Таких пример в инете вагоны, а вот что было что-то такое

Ни разу не встречал. Или тонны старого глючного кода или просто не работает и все.
В андроиде это задача решается в разметке элементарно.
Но тут я ещё не достиг просветления, прошу помочь знающих .
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
13.03.2014, 11:40     Построение двух-колоночной таблицы в UITableView #9
может быть, на самом деле у вас основная задача - высоту строки изменить?
petrovichtim
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 26
13.03.2014, 12:01  [ТС]     Построение двух-колоночной таблицы в UITableView #10
Основная задача это нарисовать таблицу в которой будет без всяких скролов виден текст.
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
13.03.2014, 12:12     Построение двух-колоночной таблицы в UITableView #11
Цитата Сообщение от mobidevelop Посмотреть сообщение
5. На сколько я понял, ваш главный вопрос - как изменить высоту ячейки? для этого в делегате есть специальный метод. В вашем случае я бы создал ячейку, и в этом методе загружал в нее текст и спрашивал у нее же какая высота ей нужна.
Цитата Сообщение от petrovichtim Посмотреть сообщение
5. Что-то вроде того и хочу
Цитата Сообщение от petrovichtim Посмотреть сообщение
Вопрос до сих пор не снят.
Уже загадка

Цитата Сообщение от petrovichtim Посмотреть сообщение
Основная задача это нарисовать таблицу в которой будет без всяких скролов виден текст.
Полный ступор. Можно кусок дизайна?
petrovichtim
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 26
13.03.2014, 12:27  [ТС]     Построение двух-колоночной таблицы в UITableView #12
Нужно вот так
Миниатюры
Построение двух-колоночной таблицы в UITableView  
Vorona
Peace 2 all shining faces
667 / 529 / 45
Регистрация: 05.03.2010
Сообщений: 1,273
15.03.2014, 20:55     Построение двух-колоночной таблицы в UITableView #13
ну и что вам мешает создать кастомную ячейку в которую вы положите по два текст вью слева и справа и будете там отображать текст хоть в 10 рядов...
тут осталось только мозг включить если в инете "вагоны" примеров

таблица без скоролов - это обычное булевое свойство bounces, присвойте ему NO и будет счастье

насчет динамической высоты ячейки - тут тоже "вагоны" инфы, берите любой, даже помогу вам примитивный запрос в гугле составить "ios cell dynamic height"
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
16.03.2014, 07:36     Построение двух-колоночной таблицы в UITableView #14
Цитата Сообщение от Vorona Посмотреть сообщение
таблица без скоролов - это обычное булевое свойство bounces, присвойте ему NO и будет счастье
Либо я не понял, что вы имеете ввиду, либо это не так.
bounces включает/выключает "визуальное отображение" того, что вы достигли края контента UIScrollView.
Vorona
Peace 2 all shining faces
667 / 529 / 45
Регистрация: 05.03.2010
Сообщений: 1,273
16.03.2014, 16:19     Построение двух-колоночной таблицы в UITableView #15
Цитата Сообщение от zulkis Посмотреть сообщение
Либо я не понял, что вы имеете ввиду, либо это не так.
ну насколько я понял, petrovichtim, хочет чтобы таблица не скролилась если высота ее контента меньше высоты таблицы
при включенном свойстве bounces ее можно будет "таскать" даже если это условие выполняется
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2014, 12:23     Построение двух-колоночной таблицы в UITableView
Еще ссылки по теме:
UITableView & UIButton
UISearchBar & UITableView
Objective-C UITableView - footer не уходит за экран
Особенности при работе с UITableView
Динамическое изменение количество ячеек в UITableView

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
petrovichtim
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 26
17.03.2014, 12:23  [ТС]     Построение двух-колоночной таблицы в UITableView #16
Спасибо дорогие товарищи за советы!
Вот этот урок на youtube снял все мои вопрсы
Yandex
Объявления
17.03.2014, 12:23     Построение двух-колоночной таблицы в UITableView
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru