Действительно ли возможно настроить UITableView для разрешения множественного выбора?

Вы можете использовать пользовательский автозапуск firebase . Пользовательский auth - это метод, с помощью которого пользователь может войти в приложение, используя пользовательский токен.

Но вам нужен внутренний код, чтобы создать пользовательский токен , когда пользователь отправляет имя пользователя и пароль на этот бэкэнд.

К счастью, теперь есть облачная функция firebase с событием http, которая может легко решить вашу проблему. Шаг:

  1. Пользователь отправляет имя пользователя и пароль в URL-адрес облачной функции с помощью параметров запроса (GET) или тела запроса (POST)
  2. Облачное функционирование проверяет, есть ли имя пользователя и пароль (например: из базы данных реального времени)
  3. Если имя пользователя и пароль действительны, функция облака создаст собственный токен с помощью userId (вам нужно сохранить userId). Затем отправьте его в тело ответа
  4. . Затем клиент может войти в систему с помощью этого customToken

41
задан luvieere 16 November 2009 в 20:54
поделиться

6 ответов

Лучший способ сделать это было бы к галочке на выбранную строку.

можно сделать это путем установки accessoryType на выбранных экземплярах UITableViewCell к UITableViewCelAccessoryCheckmark.

Для отмены выбора строки задержите его к UITableViewCellAccessoryNone.

Для перечисления, какие ячейки/строки были выбраны (говорят, после нажатия кнопки), просто выполните итерации по ячейкам поиска таблицы UITableViewCellAccessoryCheckmark. Или, справьтесь, некоторый NSSet и т.п. в Вашем делегате табличного представления в "действительно выбирал" методы делегата.

37
ответ дан Josh Brown 27 November 2019 в 00:07
поделиться

От HIG:

Табличные представления обеспечивают обратную связь когда пользовательские объекты списка выборки. А именно, когда объект может быть выбран, строка, содержащая выделения объекта кратко, когда пользователь выбирает его, чтобы показать, что выбор был получен. Затем незамедлительное принятие мер происходит: Или новое представление показано или дисплеи строки галочка, чтобы указать, что объект был выбран. Строка никогда не остается выделенной, потому что табличные представления не отображают персистентное выбранное состояние.

Вам будет нужно к стилю множественного выбора самокрутки, или с чем-то как Почта или с использованием аксессуара галочки на Ваших ячейках.

5
ответ дан Ben Gottlieb 27 November 2019 в 00:07
поделиться

При попытке сделать что-то как Mail несколько - выбор (для удаления почты, например), то Вы, вероятно, оказываетесь перед необходимостью справляться со всем выбором сами. Несколько располагают выбор в ряд, не что-то, что это стандартно на iPhone. Mail решает это при помощи галочек для указания, какие строки были выбраны.

2
ответ дан August 27 November 2019 в 00:07
поделиться

Используйте следующий код для установки типов аксессуара ячейки:

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    UITableViewCell *thisCell = [tableView cellForRowAtIndexPath:indexPath];


    if (thisCell.accessoryType == UITableViewCellAccessoryNone) {
        thisCell.accessoryType = UITableViewCellAccessoryCheckmark;

    }else{
        thisCell.accessoryType = UITableViewCellAccessoryNone;

    }
}

- (UITableViewCellAccessoryType)tableView:(UITableView *)tableView accessoryTypeForRowWithIndexPath:(NSIndexPath *)indexPath {

//add your own code to set the cell accesory type.
return UITableViewCellAccessoryNone;
}
25
ответ дан Benjamin Ortuzar 27 November 2019 в 00:07
поделиться

У Jeff Lamarche есть учебное руководство о том, как сделать это здесь:

http://iphonedevelopment.blogspot.com/2008/10/table-view-multi-row-edit-mode.html

Я не попробовал код, но это было в конце моего ума некоторое время, зная, что день наступит, когда мне будет нужен он.

24
ответ дан oldbeamer 27 November 2019 в 00:07
поделиться

Примечание: это не работает в iOS 4+. Это частная недокументированная константа. Не используйте это.

Если вы не планируете отправлять свое приложение в App Store, вы можете вызвать режим редактирования с несколькими строками, реализовав следующий метод в своем делегате UITableViewController:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
    return 3; // Undocumented constant
}
1
ответ дан 27 November 2019 в 00:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: