Вручную вызвать updateConfiguration Swift.IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Вручную вызвать updateConfiguration Swift.

Сообщение Anonymous »

У меня есть простая ячейка, содержащая текст и элемент управления.

Код: Выделить всё

final class MFTestLabel: SUCollectionCell {
// MARK: - Properties

weak var delegate: MFTestLabelDelegate?

private let containerView = UIView()
private let label = UILabel()
private let switchView = SUSwitch()

override func drawSelf() {
label.numberOfLines = 0
label.textAlignment = .center
label.isUserInteractionEnabled = true

containerView.layer.cornerRadius = 16
containerView.backgroundColor = .lightGray

switchView.addTarget(self, action: #selector(didTapSwitch), for: .touchUpInside)

contentView.addSubview(containerView)
containerView.addSubview(switchView)
containerView.addSubview(label)
}

@objc private func didTapSwitch() {
var state = configurationState
state.isSelected = true
updateConfiguration(using: state)
}

override func makeConstraints() {
containerView.snp.makeConstraints { make in
make.top.bottom.equalToSuperview().inset(4)
make.height.equalTo(40)
make.leading.trailing.equalToSuperview().inset(4)
}

switchView.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.trailing.equalToSuperview().inset(10)
}

label.snp.makeConstraints { make in
make.center.equalToSuperview()
}
}
А вот небольшой код, в котором у меня есть вопрос

Код: Выделить всё

@objc private func didTapSwitch() {
var state = configurationState
state.isSelected = true
updateConfiguration(using: state)
}
Почему Apple не рекомендует использовать updateConfiguration(using:state)?

Согласно документации https://developer.apple.com/ document/uikit/uicollectionviewcell/3600950-updateconfiguration
Цитата

Избегайте прямого вызова этого метода. Вместо этого используйте setNeedsUpdateConfiguration() для запроса обновления.
Переопределите этот метод в подклассе, чтобы обновить конфигурацию ячейки, используя предоставленное состояние.

Я пытался использовать примеры кода из репозиториев Apple.

Подробнее здесь: https://stackoverflow.com/questions/785 ... tion-swift
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»