Есть много способов достижения цели. Следующее является одним из них.
@IBAction func clickMe2Tapped(_ sender: Any) {
print("first click me tapped")
//swap data
var tempPerson = Person()
tempPerson.name = nameLabel1.text
tempPerson.position = positionLabel1.text
tempPerson.email = emailLabel1.text
self.nameLabel1.text = self.nameLabel2.text
self.positionLabel1.text = self.positionLabel2.text
self.emailLabel1.text = self.emailLabel2.text
self.nameLabel2.text = tempPerson.name
self.positionLabel2.text = tempPerson.position
self.emailLabel2.text = tempPerson.email
//Add animation
let transition = CATransition.init()
transition.type = .moveIn
transition.timingFunction = CAMediaTimingFunction(name: .easeOut)
transition.subtype = CATransitionSubtype.fromBottom
transition.duration = 0.5
self.nameLabel1.layer.add(transition, forKey: nil)
self.positionLabel1.layer.add(transition, forKey: nil)
self.emailLabel1.layer.add(transition, forKey: nil)
self.nameLabel2.layer.add(transition, forKey: nil)
self.positionLabel2.layer.add(transition, forKey: nil)
self.emailLabel2.layer.add(transition, forKey: nil)
}