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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
sunnyangel
21 / 21 / 0
Регистрация: 18.03.2010
Сообщений: 105
#1

Особенности при работе с UITableView - Программирование iOS

15.03.2013, 17:33. Просмотров 1465. Ответов 8
Метки нет (Все метки)

Добрый день.

С недавних пор начала писать программы под IOS поэтому прошу сильно не кидать тапками (всего месяц штудирования интернета и 2 недели практики)

Возник такой вопрос.
Делаю форму для регистрации в нашей программе.
Список всех полей естественно не помещается на экране.
У меня на форме вставлена UITableView с ячейками в которых вставлен элемент UITextField. В самом низу размещена кнопка ОК. (выбранный способ представления оказался наиболее удачный из всех перепробыванных)
При заполнении последнего поля часть строк уходит вверх из поля зрения.
и после нажатия на кнопку ок оказалось что информация в верхних ячейках недоступна.

Подскажите как разрешить эту "деликатную" ситуацию?
я понимаю что нужно переписать метод cellForRowAtIndexPath. Но не соображу в какую сторону копать.

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

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

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

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

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

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

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

8
Монфрид
1198 / 1008 / 154
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
15.03.2013, 17:45 #2
уж лучше scrollView бы использовали для таких целей, чем tableView. Или придётся извращаться
0
sunnyangel
21 / 21 / 0
Регистрация: 18.03.2010
Сообщений: 105
15.03.2013, 18:05  [ТС] #3
вместо того чтобы делить на 2 вьюхи.
я объединила логин и регистрацию в одной таблице из-за совпадения полей.
а для того чтобы кнопка ОК не болталась внизу выбрала таблицу...

получается логин - 2 поля.
регистрация - 5 полей.
и при перекрытии клавиатурой необходимо листать...

если есть более простое решение - буду рада услышать

Добавлено через 8 минут
я пробывала scrollView.
не сильно здорово получается когда смотришь в разных средах iphone/ipad

отодвинула эту идею на второй план как резервный но не очень "гуд" вариант

п.с. привет воронежу - отличный город
0
Монфрид
1198 / 1008 / 154
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
15.03.2013, 18:21 #4
погодите, а у вас tableView Content= Dynamic cells?
У вас строки всегда статичны, и количество их известно. Content должен быть Static Cells. И методы делегата tableView (cellforRow..) и tableViewDataSource не надо реализовывать
0
sunnyangel
21 / 21 / 0
Регистрация: 18.03.2010
Сообщений: 105
15.03.2013, 18:47  [ТС] #5
буду благодарна если подкинете немного материала по самым обычным вещам например как статическая таблица...

проще наверное куски кода показать. что уже есть

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
- (void)viewDidLoad
{
    [super viewDidLoad];
    someFields = [[NSMutableArray alloc] init];
    [someFields addObject:lng(@"Login")];
    [someFields addObject:lng(@"Password")];
    [someFields addObject:lng(@"Email")]; // и т.д.
...
}
 
-(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    MyCell *cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil)
    {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"MyCell" owner:self options:nil];
        cell = [nib objectAtIndex:0];
        }
        cell.textCell.placeholder = [signupFields objectAtIndex:indexPath.row];
...// всякие чудеса по настройке отображения ячеек
}
-(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    NSUInteger count_row = 0;
    BOOL isSignup = self.modeSegmendedCtrl.selectedSegmentIndex == 1;
    // если регистрация
        if (isSignup)
        count_row = 5;
    else
        count_row = 2;
    return count_row;
}
все остальное настроено в графическом режиме...

Добавлено через 5 минут
почему придерживаюсь данного решения - подобная схема будет еще в нескольких местах с еще больших количеством полей...
громоздко, плохо - но к сожалению уже реализовано еще в 3 вариантах (android, web и air варианты).
а я к тому же пытаюсь привести все это к какому-то приемлемому варианту...
поэтому и обратилась к товарищам за опытом и советом
0
Монфрид
1198 / 1008 / 154
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
15.03.2013, 19:10 #6
ну вы сами себе же усложнили жизнь) я так понимаю, вы в коде настраиваете положение элементов в tableView. Но всё это делается намного проще. Во-первых, надо поставить св-во Content у tableView в StaticCells. Потом задать кол-во ячеек, в ячейки вставить элементы (текстбоксы, и пр.), создать Outlets для всех этих элементов, причём всё это делается в дизайнере. И вам не понадобится вся эта куча кода.
0
zulkis
683 / 610 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
20.03.2013, 20:40 #7
Монфрид, а что это за такое свойство - Content? Насколько я могу судить это только в StoryBoards есть, верно?
Если я прав, можете пояснить четкие плюсы использования Storyboards? При условии того, что у меня 50+ контроллеров и полностью кастомный дизайн.
Просто ни разу не использовал их, все хочу попробовать, да проекты достаточно большие, не хочется себя мучить незнакомой технологией(плюсов в описании к сторибоардам не нашел для себя)
0
Монфрид
1198 / 1008 / 154
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
21.03.2013, 08:35 #8
zulkis, вот, да, похоже что в storyboards только Content. Я почти не знаком с тем, что было до storyboards, потому сравнивать мне тяжело. Удобно делать переходы между view, segues это там зовётся (протянул линию от одной вью к другой- получился переход).
TableView, я так понимаю, до storyboards, можно было заполнять только в коде, вне зависимости от того, динамический контент у тебя в таблице, или же он всегда известен. Со storyboards теперь можно напихать в дизайнере в таблицу ячеек, а в ячейки контролы какие хочешь, и при этом не надо реализовывать ни строки из tableViewDelegate, dataSourceDelegate.
Пачка .nib файлов, теперь заменена одним файлом .storyboards где показаны ваши controllers, и что самое главное - показаны переходы между ними.

Я на озоне покупал книжку по ios 5, и там на сайте у них всегда можно почитать клочок из этой книги, вот там как раз 20 страниц про soryboards рассказано
1
zulkis
683 / 610 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
21.03.2013, 09:30 #9
В общем штука для создания "приложения на коленке".
0
21.03.2013, 09:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2013, 09:30
Привет! Вот еще темы с ответами:

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

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

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

Как изменить вид группированного UITableView? - Программирование iOS
Здравствуйте пробую писать под iPhone на Xamarin хочу сделать дизайн главного вида похожем на этот: ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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