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

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

Войти
Регистрация
Восстановить пароль
 
VV0lk
11 / 1 / 0
Регистрация: 25.12.2011
Сообщений: 171
#1

Как изменить вид группированного UITableView? - Программирование iOS

25.11.2014, 10:35. Просмотров 712. Ответов 4
Метки нет (Все метки)

Здравствуйте пробую писать под iPhone на Xamarin хочу сделать дизайн главного вида похожем на этот:
http://www.cyberforum.ru/attachment....1&d=1416900221
Для этого размещаю на ViewController элемент UITableView, присваеваю его стилю - Grouped и пишу следующий код:
Кликните здесь для просмотра всего текста

C#
1
SectionTableViewController.Source = new SectionSource ();
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
public class SectionSource : UITableViewSource
    {
        List<List<string>> SectionList = new List<List<string>>();
 
        List<string> SectionOneList = new List<string>   { "one", "two" };
        List<string> SectionTwoList = new List<string>   { "three" };
        List<string> SectionThreeList = new List<string> { "four" };
        List<string> SectionFourList = new List<string>  { "five" };
        List<string> SectionFiveList = new List<string>  { "six", "seven" };
 
        public SectionSource () 
        {
            SectionList.Add (SectionOneList);
            SectionList.Add (SectionTwoList);
            SectionList.Add (SectionThreeList);
            SectionList.Add (SectionFourList);
            SectionList.Add (SectionFiveList);
        }
 
        public override int NumberOfSections(UITableView tableView)
        {
            return 5;
        }
 
        public override int RowsInSection(UITableView tableview, int section)
        {
            if ((section == 0)||(section == 4))
            {
                return SectionOneList.Count;
            } 
            else 
            {
                return SectionTwoList.Count;
            }
        }
 
        public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath)
        {
            UITableViewCell cell;
 
                cell = tableView.DequeueReusableCell ( SectionList[indexPath.Section].ToString());
                if (cell == null)
                    cell = new UITableViewCell(UITableViewCellStyle.Value2,SectionList[indexPath.Section].ToString());
                cell.TextLabel.Text =SectionList[indexPath.Section][indexPath.Row];
                cell.DetailTextLabel.Text = string.Format ("Это секция {0}", indexPath.Section);
 
            return cell;
        }
 
 
        public override void RowSelected (UITableView tableView, NSIndexPath indexPath)
        {
            Console.WriteLine (tableView.CellAt(indexPath).DetailTextLabel.Text);
            Console.WriteLine (indexPath.Section);
            Console.WriteLine (indexPath.Row);
 
        }
    }

И получаю следующий вид:
http://www.cyberforum.ru/attachment....1&d=1416897019
Вот код вида этого элемента:
Кликните здесь для просмотра всего текста

XML
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
39
40
41
42
43
44
45
46
47
48
49
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="42" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO">
                                <rect key="frame" x="0.0" y="76" width="320" height="236"/>
                                <color key="backgroundColor" cocoaTouchSystemColor="lightTextColor"/>
                                <prototypes>
                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" id="43">
                                        <rect key="frame" x="0.0" y="55" width="320" height="44"/>
                                        <autoresizingMask key="autoresizingMask"/>
                                        <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="44" tableViewCell="43">
                                            <rect key="frame" x="0.0" y="0.0" width="320" height="43.5"/>
                                            <autoresizingMask key="autoresizingMask"/>
                                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
                                        </view>
                                    </tableViewCell>
                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" id="45" clipsSubviews="YES">
                                        <rect key="frame" x="0.0" y="99" width="320" height="44"/>
                                        <autoresizingMask key="autoresizingMask"/>
                                        <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="46" tableViewCell="45">
                                            <rect key="frame" x="0.0" y="0.0" width="320" height="43.5"/>
                                            <autoresizingMask key="autoresizingMask"/>
                                            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
                                        </view>
                                    </tableViewCell>
                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" id="50">
                                        <rect key="frame" x="0.0" y="143" width="320" height="44"/>
                                        <autoresizingMask key="autoresizingMask"/>
                                        <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="50" id="51">
                                            <rect key="frame" x="0.0" y="0.0" width="320" height="43.5"/>
                                            <autoresizingMask key="autoresizingMask"/>
                                        </tableViewCellContentView>
                                    </tableViewCell>
                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" id="52">
                                        <rect key="frame" x="0.0" y="187" width="320" height="44"/>
                                        <autoresizingMask key="autoresizingMask"/>
                                        <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="52" id="53">
                                            <rect key="frame" x="0.0" y="0.0" width="320" height="43.5"/>
                                            <autoresizingMask key="autoresizingMask"/>
                                        </tableViewCellContentView>
                                    </tableViewCell>
                                    <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" id="54">
                                        <rect key="frame" x="0.0" y="231" width="320" height="44"/>
                                        <autoresizingMask key="autoresizingMask"/>
                                        <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="54" id="55">
                                            <rect key="frame" x="0.0" y="0.0" width="320" height="43.5"/>
                                            <autoresizingMask key="autoresizingMask"/>
                                        </tableViewCellContentView>
                                    </tableViewCell>
                                </prototypes>
                                <color key="sectionIndexBackgroundColor" cocoaTouchSystemColor="lightTextColor"/>
                            </tableView>

Подскажите что и где надо изменить, чтобы получить вид ТаблВиью, как на первой картинке? Заранее спасибо!
0
Миниатюры
Как изменить вид группированного UITableView?   Как изменить вид группированного UITableView?  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2014, 10:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как изменить вид группированного UITableView? (Программирование iOS):

Как добавить блок AdMob на UITableView? - Программирование iOS
Здравствуйте! Возникла проблема при добавлении блока AdMob на UITableView. Проблема в том, что при добавлении блока в таблицу, блок...

Как поймать момент, когда ячейка UITableView показалась на экране? - Программирование iOS
начал для этого использовать tableView:willDisplayCell:forRowAtIndexPath: но если там сделать то ячейку мы не получим, получается её ещё...

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

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

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

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

4
Victorianec
20 / 20 / 6
Регистрация: 09.01.2014
Сообщений: 118
25.11.2014, 11:48 #2
Кажется мне, что на первой картинке у вас приложение запущено на iOS 6. А симулятор у вас с iOS 8.1 Так что такой вид (по умолчанию, или как говорится "из коробки"), вы получите только на 6й ОСи. Либо собственноручно сделайте ячейки, которые будут выглядеть как вам нужно.
1
VV0lk
11 / 1 / 0
Регистрация: 25.12.2011
Сообщений: 171
25.11.2014, 14:47  [ТС] #3
Либо собственноручно сделайте ячейки, которые будут выглядеть как вам нужно.
Как это сделать? Можно ссылочку, или краткий туториал по этому вопросу?

Добавлено через 1 час 18 минут
Или может есть какое либо св-во, чтобы таблица всегда отображалась как в iOS 6 не зависимо от текущей версии системы.
0
Victorianec
20 / 20 / 6
Регистрация: 09.01.2014
Сообщений: 118
26.11.2014, 10:22 #4
Цитата Сообщение от VV0lk Посмотреть сообщение
Или может есть какое либо св-во, чтобы таблица всегда отображалась как в iOS 6 не зависимо от текущей версии системы.
Опять же, по-умолчанию такое не возможно. Только кастомизация элементов поможет.
Цитата Сообщение от VV0lk Посмотреть сообщение
Как это сделать? Можно ссылочку, или краткий туториал по этому вопросу?
Вбейте в гугл "ios custom UITableViewCell/UITableView tutorial" и получите достаточно ссылок по этому вопросу.
1
VV0lk
11 / 1 / 0
Регистрация: 25.12.2011
Сообщений: 171
26.11.2014, 11:55  [ТС] #5
Спасибо.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2014, 11:55
Привет! Вот еще темы с ответами:

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

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

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

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


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

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

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