我正在制作动画UICollectionViewCell
以在点击时缩小。动画有效,但似乎文本在我设置的持续时间(在这种情况下为 0.3 秒)内向左移动并且动画向中心移动。我尝试了一些动画过程的变体,但情况仍然存在。
以下是文本问题的示例:
以及代码实现:
func collectionView(collectionView: UICollectionView, didHighlightItemAtIndexPath indexPath: NSIndexPath) {
var currentCell = collectionView.cellForItemAtIndexPath(indexPath) as UICollectionViewCell!
UIView.animateWithDuration(0.3, delay: 0, options: UIViewAnimationOptions.AllowUserInteraction, animations: {
currentCell.backgroundColor = self.categoryArray[indexPath.row].catColor
currentCell.frame.inset(dx: 5, dy: 5)
let imageView: UIImageView = currentCell.subviews[0] as UIImageView
let imageSize = currentCell.frame.height * 0.45
imageView.frame = CGRect(x: (currentCell.frame.width / 2) - (imageSize / 2), y:currentCell.frame.height * 0.15, width: imageSize, height: imageSize)
let textLabel:UILabel! = currentCell.subviews[2] as UILabel
textLabel.frame = CGRect(x: 0, y: currentCell.frame.height * 0.30, width: currentCell.frame.width, height: currentCell.frame.height)
let bottomBorder: UIView = currentCell.subviews[1] as UIView
bottomBorder.frame = CGRectMake(0, currentCell.frame.height - 1.0, currentCell.frame.width, 5)
}, completion: nil)
}
理想情况下,我希望文本始终调整大小并保持居中,而不是向左“浮动”然后向中心移动
……这么多笑脸……