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

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

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

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

10.03.2014, 18:13. Просмотров 1534. Ответов 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;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2014, 18:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Построение двух-колоночной таблицы в UITableView (Программирование iOS):

Несуществующий UITableView - Программирование iOS
Добрый вечер. Столкнулся с такой проблемой: создал простое приложение с UITableView. делал по уроку, все как положено. В момент запуска...

Сортировка в UITableView - Программирование iOS
Добрый день. Во время разработки столкнулся с необходимостью сортировки, а так же связанным с ней багом. Обо всем по порядку. 1....

Индексация ячеек в UITableView - Программирование iOS
Здравствуйте, скажите пожалуйста как решить проблему: у меня в UITableView есть несколько секций, в каждой и которых различное количество...

Работа с жестами в UITableView - Программирование iOS
Разрабатываем приложение, столкнулись с проблемой жестов в uitableView. в кратце поясню, реализуем так называймый siebar который доступен...

Передать из UITableView в UIWebView - Swift
Всем привет! Являюсь новичком Swift. Помогите, пожалуйста, передать данные из UITableView в UIWebView таким образом: lesson 1 ->...

UISearchBar & UITableView - Программирование iOS
Доброго времени суток вопрос. Переделываю приложение под iOS 7 добавил поиск по таблице но он открывает файлы по индексу ячейки, а не по...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
10.03.2014, 18:55 #2
Несколько уточняющих вопросов и комментариев:
1. Ширина "колонок" фиксирована или тоже от контента зависит? Судя по коду таки фиксирована, но "написал" и "хотел написать" - 2 большие разницы
2. Чем не полюбился UICollectionView?
3. if (cell == nil). Если вы перестанете использовать архаичные подходы, это условие не сработает никогда.
4. Почему не создать UI ячейки в Interface Builder'е? Это же быстрее, проще и нагляднее.
5. На сколько я понял, ваш главный вопрос - как изменить высоту ячейки? для этого в делегате есть специальный метод. В вашем случае я бы создал ячейку, и в этом методе загружал в нее текст и спрашивал у нее же какая высота ей нужна.
1
petrovichtim
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 26
10.03.2014, 19:10  [ТС] #3
1.Ширина должна зависеть от контента.
2. Не умею его готовить(
3. Согласен, пока таскаю как апендикс
4.Толком с ним не разобрался, если есть на русском материал, прошу поделитесь
5. Что-то вроде того и хочу
0
petrovichtim
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 26
12.03.2014, 18:50  [ТС] #4
Вопрос до сих пор не снят. Ячейки рисую в стори боард.
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
12.03.2014, 21:08 #5
petrovichtim, UITableView это не NSTableView в Cocoa, он не предназначен для отображения информации в нескольких колонках.
Используйте UICollectionView. Для вашей задачи даже не придется UICollectionViewLayout переписывать, уже есть UICollectionViewFlowLayout.
2. Не умею его готовить(
Готовить люди учатся. Вот и научитесь. Банальных туториалов - полно.
1
petrovichtim
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 26
12.03.2014, 23:14  [ТС] #6
первая же выдача поиска тынц говорят не торт
я хочу простую таблицу : ячейка слева, ячейка справа - внутри текст
все что находил или устарело или в один столбец или вообще битые ссылки
0
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
13.03.2014, 01:36 #7
создайте класс наследник UITableViewCell и спокойно задайте в ячейке столько колонок, сколько вам надо, в чем проблема?
программно, естественно
0
Миниатюры
Построение двух-колоночной таблицы в UITableView  
petrovichtim
0 / 0 / 0
Регистрация: 27.10.2013
Сообщений: 26
13.03.2014, 10:15  [ТС] #8
Во-первых нужен пример, во-вторых у Вас прекрасная таблица, но у неё текст в одну строчку.
Таких пример в инете вагоны, а вот что было что-то такое

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

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

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

насчет динамической высоты ячейки - тут тоже "вагоны" инфы, берите любой, даже помогу вам примитивный запрос в гугле составить "ios cell dynamic height"
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
16.03.2014, 07:36 #14
Цитата Сообщение от Vorona Посмотреть сообщение
таблица без скоролов - это обычное булевое свойство bounces, присвойте ему NO и будет счастье
Либо я не понял, что вы имеете ввиду, либо это не так.
bounces включает/выключает "визуальное отображение" того, что вы достигли края контента UIScrollView.
0
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
16.03.2014, 16:19 #15
Цитата Сообщение от zulkis Посмотреть сообщение
Либо я не понял, что вы имеете ввиду, либо это не так.
ну насколько я понял, petrovichtim, хочет чтобы таблица не скролилась если высота ее контента меньше высоты таблицы
при включенном свойстве bounces ее можно будет "таскать" даже если это условие выполняется
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2014, 16:19
Привет! Вот еще темы с ответами:

UITableView запутался с вьюхой - Программирование iOS
Коллеги что-то я запутался. Есть storyboard, в нем UIViewController с UITableView. Из таблички UI элементов перетягиваю UIView... его можно...

UITableView & UIButton - Программирование iOS
Доброго времени суток. Возник вопрос у меня есть таблица с 3-мя ячейками мне нужно при выборе ячейки менять Title кнопки на тот текст...

Особенности при работе с UITableView - Программирование iOS
Добрый день. С недавних пор начала писать программы под IOS поэтому прошу сильно не кидать тапками :) (всего месяц штудирования...

Сдвиг вниз ячеек/секций в UITableView - Программирование iOS
Доброго времени суток. Мне необходимо реализовать такую задачу: есть таблица, по тапу на одну ячейку все остальные ячейки, которые ниже,...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.03.2014, 16:19
Ответ Создать тему
Опции темы

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