Как изменить длину строки в UITableView Swift

Я использую в своем приложении табличное представление, в котором строки не доходят до конца строки:

Как изменить длину строки в UITableView Swift

В моем дизайне мне нужно, чтобы некоторые линии доходили до упора, как на этой картинке:

Как изменить длину строки в UITableView Swift

Еще одна проблема, которая у меня есть, заключается в том, что я вижу последнюю строку в табличном представлении:

Как изменить длину строки в UITableView Swift

У меня вопрос как мне сделать некоторые линии полностью поперечными, как на 2-м рисунке и еще вопрос как мне удалить последнюю строку UITableView?

строки являются разделителем uitableview?

junaid 18.12.2018 13:39

Какие-нибудь конкретные причины использовать здесь UITableView? Почему не сочетание настраиваемых полей UITextfields и UIButton?

iOSer 18.12.2018 13:49

tableviewcontroller со статическими ячейками может работать практически со всеми экранами. Основная причина в том, что он может автоматически регулировать прокрутку (что меня беспокоит больше всего). также легко добавить константы для текстовых полей в статическую ячейку.

DHEERAJ 18.12.2018 14:03

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

A. Amini 18.12.2018 14:59
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
4
817
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

добавить вид со светло-серым фоном и высотой 1 и добавить в верхнюю часть ячейки. настройте в каждой ячейке так, как вам нужно.

Ответ принят как подходящий

Вы можете использовать приведенный ниже код для ячеек tableview, в которых вы хотите, чтобы он касался края tableview.

cell.separatorInset = UIEdgeInsets.zero
cell.layoutMargins = UIEdgeInsets.zero

Примечание: поскольку tableview использует повторно используемые ячейки, поэтому, если вы устанавливаете separatorInset и layoutMargins, убедитесь, что вы устанавливаете его для всех ячеек. В противном случае повторно используемая ячейка будет иметь другую вставку разделителя, чем ожидалось. Итак, для других ячеек оставьте left = 16 в UIEdgeInsets.

на случай сокрытия корпуса разделителя придется снова поиграться с separatorInset

 cell.separatorInset = UIEdgeInsetsMake(0, 0, 0, UIScreen.main.bounds.width)

где я могу ссылаться на конкретные ячейки? я не могу подключать их регулярно

Chief Madog 18.12.2018 13:55

можно еще добавить способ убрать разделительную линию? (как то, что я хочу сделать в моем последнем разделе)

Chief Madog 18.12.2018 13:58

@ChiefMadog: Проверьте обновленный ответ, на самом деле я не прочитал ваш вопрос полностью, поэтому пропустил эту вещь. Но теперь ясно

Mehul Thakkar 18.12.2018 14:03
  1. Вы используете настраиваемую ячейку, поэтому вы можете использовать метку / представление для строки, установить ограничения начала и конца метки / представления или обновить высоту метки / представления, цвет в соответствии с вашими требованиями и установить разделитель представления таблицы Нет.

  2. Задайте условие для последней строки таблицы в функции Table cellForRowAt и скройте метку / представление.

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

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "TableviewCell", for: indexPath) as! TableviewCell

    if indexPath.row == LastCount {
        cell.separatorInset = UIEdgeInsets(top: 0, left: UIScreen.main.bounds.width*2, bottom: 1, right: -(UIScreen.main.bounds.width*3))
    }
    else
    {
        cell.separatorInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
    }
    return cell
}

чтобы удалить эту последнюю строку или все другие строки, которые вы установили tableView.tableFooter = UIView() в cellForRowAt

Другие вопросы по теме