Я пытаюсь создать всплывающее окно подпредставления из центра 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]. Чего мне не хватает, чтобы всплывающее окно запускалось по центру кнопки? В консоли нет ошибок, и всплывающее окно показывает, где я обведен кружком на прикрепленном изображении.