Удалите ненужный пробел между кнопкой и строкой swift xcode - PullRequest
0 голосов
/ 11 апреля 2020

Я новичок в iPhone разработке приложений.

enter image description here

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

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

Я добавил следующий код в функцию cellForRowAt TableView. это не работает.

cell.line.frame = CGRect(x: 0, y:cell.btnDelete.frame.maxY, width: cell.line.frame.width , height: 1 ) 

Любое тело может помочь мне решить эту проблему.

Я добавил следующий код к.

  func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
      return UITableViewAutomaticDimension
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {


    return UITableViewAutomaticDimension
}

и

    dataTable.rowHeight = UITableViewAutomaticDimension
    dataTable.estimatedRowHeight = 100

1 Ответ

0 голосов
/ 11 апреля 2020

Вы должны достичь этого, используя хитрый способ. Использование Представление стека Добавить Показать, Скрыть кнопки к одному UIView.Добавить все другие компоненты к другому UIView.Добавить UIStackView в свою пользовательскую ячейку и добавить ограничения, подобные этой .

 NSLayoutConstraint.activate([
            stackView.leadingAnchor.constraint(equalTo: leadingAnchor),
            stackView.trailingAnchor.constraint(equalTo: trailingAnchor),
            stackView.topAnchor.constraint(equalTo: topAnchor),
            stackView.bottomAnchor.constraint(equalTo: bottomAnchor),
 ])

установить распределение stackView на .Fill.

, когда вы хотите показать / скрыть кнопки, вы можете добавить / удалить упорядоченный дочерний вид из stackView ячейки табличного представления. Если вы показываете / скрыть кнопки в cellForItemAt перед добавлением убедитесь, что все упорядоченные подпредставления удалены.

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        cell.stackView.removeArrangedSubview(cell.viewOne)
        cell.stackView.removeArrangedSubview(cell.viewTwo)

        if isShowBuutons {
            cell.stackView.addArrangedSubview(cell.viewOne) //View with All other elements
            cell.stackView.addArrangedSubview(cell.viewTwo) //View with buttons
        }else{
            cell.stackView.addArrangedSubview(cell.viewOne) //View with All other elements
        }
    }

TableView cell structures

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...