我正在使用JSQMessagesViewController库的项目中。有没有人成功地使打字指示器动画化了,如果可以,他们可以分享他们的方法吗?
谢谢!
最佳答案
我参加聚会很晚,但是因为这也花了我很多时间,而且我的帖子可以帮助其他人,所以我将列出我的工作解决方案。
我使用APNG(动画PNG,它可能具有透明背景)作为键入指示器,所以我使用APNGKit,它提供了一个名为APNGImageView的UIImageView子类。
class MyMessagesTypingIndicatorFooterView: JSQMessagesTypingIndicatorFooterView { @IBOutlet weak var animatedImageView: APNGImageView!
override func draw(_ rect: CGRect) {
super.draw(rect)
}
override func awakeFromNib() {
super.awakeFromNib();
}
public override class func nib() -> UINib! {
return UINib(nibName: "MyMessagesTypingIndicatorFooterView", bundle: Bundle.main)
}
override class func footerReuseIdentifier()->String{
return "MyMessagesTypingIndicatorFooterView"
}
}
class MyMessagesViewController: JSQMessagesViewController{ override func viewDidLoad() {
self.collectionView.register(MyMessagesTypingIndicatorFooterView.nib(), forSupplementaryViewOfKind: UICollectionElementKindSectionFooter, withReuseIdentifier: "MyMessagesTypingIndicatorFooterView")}
override func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView { if kind == UICollectionElementKindSectionFooter{ let footerView = collectionView.dequeueReusableSupplementaryView(ofKind: UICollectionElementKindSectionFooter, withReuseIdentifier: "MyMessagesTypingIndicatorFooterView", for: indexPath) as! MyMessagesTypingIndicatorFooterView //footerView let image = APNGImage(named: "typing1.png") footerView.animatedImageView.image = image footerView.animatedImageView.startAnimating() return footerView } return super.collectionView(collectionView, viewForSupplementaryElementOfKind: kind, at: indexPath) } }
关于JSQMessagesViewController动画输入指示器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32854347/