Почему компилятор Rust не оптимизирует код, предполагая, что две изменяемые ссылки не могут иметь псевдоним?

Вам необходимо использовать функции shadowView и roundView

shadowView

  • Должен иметь фон color
  • Должно зависеть от roundView
  • Трюк заключается в макете shadowView немного внутри, и его тень должна светиться. Откорректируйте insets так, чтобы shadowView полностью невидимо позади roundView

roundView

  • Должен закрепить подзоны

Код

addSubviews(shadowView, roundView)
roundView.addSubviews(titleLabel, subtitleLabel, imageView)

// need inset
shadowView.pinEdges(view: self, inset: UIEdgeInsets(constraintInsets: 2))
roundView.pinEdges(view: self)

do {
  shadowView.backgroundColor = .white // need background
  let layer = shadowView.layer
  layer.shadowColor = UIColor.black.cgColor
  layer.shadowRadius = 3
  layer.shadowOffset = CGSize(width: 3, height: 3)
  layer.shadowOpacity = 0.7
  layer.shouldRasterize = true
}

do {
  roundView.backgroundColor = .white
  let layer = roundView.layer
  layer.masksToBounds = true
  layer.cornerRadius = 5
}

Или вы можете просто сделать ниже, не указав clipToBounds/maskToBounds

layer.shadowColor = UIColor.gray.cgColor
layer.shadowOffset = CGSize(width: 3, height: 3)
layer.shadowOpacity = 0.8

259
задан Peter Mortensen 9 August 2019 в 11:51
поделиться