Получить центральную контрольную точку кнопки внутри ящика коллекции, чтобы добавить подпредставление - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь создать всплывающее окно подпредставления из центра UIButton (отправителя) в ячейке представления коллекции Пример .

// Point Popup Functions
func buttonScorePopUp(_ sender: UIButton) {
    if var centerCellIndexPath: IndexPath = collectionView.centerCellIndexPath {

        print("Pop Up Score Called")

        let cell = self.collectionView?.cellForItem(at: centerCellIndexPath)

        // Get the postion of the button for popup starting point
        let centerPosition = sender.center

        // Get the card at indexPath
        let card = cards[centerCellIndexPath.row]

        // Create Score View
        let scoreView = UIImageView(frame: CGRect(x: 0, y: 0, width: 100, height: 21))
        scoreView.image = UIImage(named:"100")
        scoreView.contentMode = .scaleAspectFit
        scoreView.center = centerPosition
        cell?.addSubview(scoreView)

        print("Called for Score \(card.cardPoints)")

        // Animate Score View
        UIView.animate(withDuration: 1.0, delay: 0.3, options: [.curveEaseOut], animations: {
            //scoreView.center.y -= 100
            scoreView.frame.size.height = 42
        }, completion: { _ in
            scoreView.removeFromSuperview()
        })

    }
}

Всплывающее окно работает хорошо, однако оно появляется намного дальше над кнопкой [ось Y] (скажем, 200 пикселей) и немного левее [ось X]. Чего мне не хватает, чтобы всплывающее окно запускалось по центру кнопки? В консоли нет ошибок, и всплывающее окно показывает, где я обведен кружком на прикрепленном изображении.

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