Я включил этот color slider в свое приложение, и у меня возникли проблемы с его вставкой в ячейку просмотра таблицы, чтобы она занимала длину ячейки в обоих портретах и пейзаж. Ниже приведены два снимка экрана, показывающие мое приложение в портретном и ландшафтном отношении. Вы можете видеть, что слайдер цвета не расширяет всю длину ячейки. Вот мой код, который устанавливает цветной слайдер. Я пытаюсь выяснить, как код свойства CGRect, чтобы цветной слайдер динамически заполнял длину ячейки.Установите цветной слайдер в виде таблицы сотовой ячейки на всю длину ячейки
func configureColorSlider() {
let colorSlider = ColorSlider()
let xCell = colorCell.contentView.bounds.width
let yCell = colorCell.contentView.bounds.height
colorSlider.frame = CGRect(x: xCell/4, y: yCell/4, width: 200, height: 24)
colorSlider.orientation = .horizontal
colorSlider.addTarget(self, action: #selector(ConfigureTimestampTableViewController.changedColor(_:)), for: .valueChanged)
colorCell.contentView.addSubview(colorSlider)
}
EDIT (Снова) Из вашего предложения я обновил свой код, приведенный ниже. Это прекрасно работает в портретной ориентации. Цветовой слайдер занимает полный размер ячейки справа от метки цвета. Однако, когда я поворачиваю телефон в альбомную ориентацию, цветной слайдер заполняет только половину экрана. Ниже приведен снимок экрана о том, как он выглядит.
func configureColorSlider() {
let colorSlider = ColorSlider()
let xCell = colorCell.contentView.bounds.width
let yCell = colorCell.contentView.bounds.height
colorSlider.frame = CGRect(x: xCell/4, y: yCell/4, width: 200, height: 24)
colorSlider.orientation = .horizontal
colorSlider.addTarget(self, action: #selector(ConfigureTimestampTableViewController.changedColor(_:)), for: .valueChanged)
colorCell.contentView.addSubview(colorSlider)
colorSlider.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([colorSlider.leadingAnchor.constraint(equalTo: colorLabel.trailingAnchor, constant: 8),
colorSlider.trailingAnchor.constraint(equalTo: colorCell.contentView.trailingAnchor, constant: -8),
colorSlider.topAnchor.constraint(equalTo: colorCell.contentView.topAnchor, constant: 8),
colorSlider.bottomAnchor.constraint(equalTo: colorCell.contentView.bottomAnchor, constant: -8) ])
}
Спасибо за ответ. Я пробовал это, но это сбой моего приложения. Имеет смысл, что я должен использовать автомасштабирование для достижения этого. Я буду продолжать играть с кодом. – chickenparm
Код, который я привел, является примером, который трудно передать вам, не видя полного кода. Какая ошибка возникает при ее сбое. Вы используете раскадровки? – AlexanderKaran
Я использую раскадровки. Я только что обновил свой вопрос выше кодом, который я пробовал из вашего предложения. Спасибо вам за помощь! – chickenparm