У меня есть TableView и ячейка. Содержимое ячейки находится в UIView. Я хочу применить эту функцию:
extension UIView {
public func addSoftUIEffectForView(cornerRadius: CGFloat = 15.0, themeColor: UIColor = UIColor(red:0.10, green:0.11, blue:0.12, alpha:1.0)) {
self.layer.cornerRadius = cornerRadius
self.layer.masksToBounds = false
self.layer.shadowRadius = 2
self.layer.shadowOpacity = 1
self.layer.shadowOffset = CGSize( width: 2, height: 2)
self.layer.shadowColor = UIColor(red:0.08, green:0.08, blue:0.09, alpha:1.0).cgColor
let shadowLayer = CAShapeLayer()
shadowLayer.frame = bounds
shadowLayer.backgroundColor = themeColor.cgColor
shadowLayer.shadowColor = UIColor(red:0.14, green:0.15, blue:0.16, alpha:1.0).cgColor
shadowLayer.cornerRadius = cornerRadius
shadowLayer.shadowOffset = CGSize(width: -2.0, height: -2.0)
shadowLayer.shadowOpacity = 1
shadowLayer.shadowRadius = 2
self.layer.insertSublayer(shadowLayer, at: 0)
}
}
к этому UIView.
Я испробовал следующие подходы:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableViewPostComments.dequeueReusableCell(withIdentifier: "cellComment", for: indexPath) as! PostCommentsTableViewCell
cell.viewTableViewContainer.addSoftUIEffectForView()
return cell
}
Результат: прокрутка табличного представления запаздывает, стиль неправильно применяется при прокрутке.
Применение функции в моем пользовательском TableViewCell:
@IBOutlet weak var viewTableViewContainer: UIView! {
didSet {
viewTableViewContainer.addSoftUIEffectForView()
}
}
Результат: прокрутка табличного представления запаздывает, стиль неправильный применяется, потому что у меня есть динамо c высота клетки. Стилизуется только начальная высота ячейки.
Как правильно стилизовать мой UIView внутри моей ячейки TableView, без задержки, с правильной высотой, без проблем с прокруткой?