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

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

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

Добрый день.

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

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

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

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

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

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

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

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

UITableView запутался с вьюхой
Коллеги что-то я запутался. Есть storyboard, в нем UIViewController с...

8
Монфрид
1208 / 1018 / 293
Регистрация: 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
Монфрид
1208 / 1018 / 293
Регистрация: 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
Монфрид
1208 / 1018 / 293
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
15.03.2013, 19:10 #6
ну вы сами себе же усложнили жизнь) я так понимаю, вы в коде настраиваете положение элементов в tableView. Но всё это делается намного проще. Во-первых, надо поставить св-во Content у tableView в StaticCells. Потом задать кол-во ячеек, в ячейки вставить элементы (текстбоксы, и пр.), создать Outlets для всех этих элементов, причём всё это делается в дизайнере. И вам не понадобится вся эта куча кода.
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
20.03.2013, 20:40 #7
Монфрид, а что это за такое свойство - Content? Насколько я могу судить это только в StoryBoards есть, верно?
Если я прав, можете пояснить четкие плюсы использования Storyboards? При условии того, что у меня 50+ контроллеров и полностью кастомный дизайн.
Просто ни разу не использовал их, все хочу попробовать, да проекты достаточно большие, не хочется себя мучить незнакомой технологией(плюсов в описании к сторибоардам не нашел для себя)
0
Монфрид
1208 / 1018 / 293
Регистрация: 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
684 / 611 / 43
Регистрация: 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 в UIWebView
Всем привет! Являюсь новичком Swift. Помогите, пожалуйста, передать данные из...

Работа с жестами в UITableView
Разрабатываем приложение, столкнулись с проблемой жестов в uitableView. в...

Расстояние между ячейками UITableView
Здравствуйте! Подскажите, как создать расстояние между ячейками TableView,...

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


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

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

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