Добавить тень на вид в Xib в Swift - PullRequest
0 голосов
/ 27 февраля 2020

Я добавил вид карты из файла Xib, который при нажатии на него скользит снизу вверх для отображения вида.

Я пытаюсь настроить вид и тень для вида, который

В противном случае cornerRadius работает нормально.

enter image description here

func setupCard() {


            menuCardVC = MenuCardVC(nibName:"MenuCardVC", bundle:nil)

            menuCardVC.view.layer.shadowOpacity = 0.50
            menuCardVC.view.layer.shadowRadius = 12
            menuCardVC.view.layer.shadowColor = UIColor.black.cgColor
            menuCardVC.view.layer.shadowOffset = CGSize.zero
            menuCardVC.view.layer.cornerRadius = 25

            self.addChild(menuCardVC)
            self.view.addSubview(menuCardVC.view)

            menuCardVC.view.frame = CGRect(x: 0, y: self.view.frame.height - cardHandleAreaHeight, width: self.view.bounds.width, height: cardHeight)

            menuCardVC.view.clipsToBounds = true

            let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(VenueDetailsVC.handleCardTap(recognzier:)))
            let panGestureRecognizer = UIPanGestureRecognizer(target: self, action: #selector(VenueDetailsVC.handleCardPan(recognizer:)))

            menuCardVC.handleArea.addGestureRecognizer(tapGestureRecognizer)
            menuCardVC.handleArea.addGestureRecognizer(panGestureRecognizer)


        }//end setupCard

Ответы [ 2 ]

0 голосов
/ 02 марта 2020

Поскольку ваша иерархия представлений проста, вы можете использовать следующую технику. Кроме того, вам не нужно использовать clipsToBounds.

let superview = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
superview.backgroundColor = .white

let subview = UIView(frame: CGRect(x: 10, y: 10, width: 100, height: 100))
subview.backgroundColor = .red
// First provide the corner radius.
subview.layer.cornerRadius = 8
// Then provide the shadow parameters.
subview.layer.shadowOpacity = 1
// ...
// Do not clip to bounds since it will clip the shadow.
// ...
superview.addSubview(subview)
0 голосов
/ 27 февраля 2020

Удалить приведенную ниже строку кода,

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