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

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

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

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

25.11.2014, 10:35. Просмотров 702. Ответов 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>

Подскажите что и где надо изменить, чтобы получить вид ТаблВиью, как на первой картинке? Заранее спасибо!
Миниатюры
Как изменить вид группированного 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 добавил поиск по таблице но он открывает файлы по индексу ячейки, а не по...

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

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


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

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

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