2016-12-25 31 views
3

我使用我的iOS應用潛望式註釋代碼(在評論氣泡從底部向上滑動):https://github.com/yoavlt/PeriscommentView的潛望式斯威夫特動漫評論

這是實際動畫的代碼評論:

public func addCell(cell: PeriscommentCell) { 
     cell.frame = CGRect(origin: CGPoint(x: 0, y: self.frame.height), size: cell.frame.size) 
     visibleCells.append(cell) 
     self.addSubview(cell) 

     UIView.animateWithDuration(self.config.appearDuration, delay: 0, options: UIViewAnimationOptions.CurveEaseOut, animations: {() -> Void in 
      let dy = cell.frame.height + self.config.layout.cellSpace 
      for c in self.visibleCells { 
       let origin = c.transform 
       let transform = CGAffineTransformMakeTranslation(0, -dy) 
       c.transform = CGAffineTransformConcat(origin, transform) 
      } 
     }, completion: nil) 

     UIView.animateWithDuration(self.config.disappearDuration, delay: self.config.stayDuration, options: UIViewAnimationOptions.CurveEaseIn, animations: {() -> Void in 
      cell.alpha = 0.0 
     }) { (Bool) -> Void in 
      self.visibleCells.removeLast() 
      cell.removeFromSuperview() 

     } 
    } 

上述代碼的問題是,有時當添加新評論時,它顯示重疊前面的評論。預期的行爲是先前的評論下滑,新評論取而代之。我注意到這主要發生在當前評論開始淡出之後添加新評論時,但仍然沒有消失。

我試着在self.visibleCells.removeLast()中放置一個斷點,它看起來好像只有當最後一個註釋完成時纔會被調用,所以我期望它能正常工作(因爲for循環向上移動所有可見的單元格,即使評論淡出,它仍然可見)。

任何幫助,這將不勝感激。

謝謝!

+0

事實上,其他人報告相同的問題:https://github.com/yoavlt/PeriscommentView/issues/5 – Prabhu

回答

0

我剛剛得到了該存儲庫的一個克隆,在我的設備上運行,並且您的問題試圖重寫該功能。不要那樣做。相反,只需添加以下行:

@IBAction func addNewCell(sender: UIButton) { 
    self.periscommentView.addCell(UIImage(named: "twitterProfile")!, name: "Your_Name_Here", comment: "Your_Comment_Here") 
} 

就這樣!我只是檢查它,它完美的作品!

不要試圖改變alpha或向上移動。圖書館做所有這些東西!祝你好運! ;)

+0

我不知道我明白你的意思。你是說這個問題出現在調用代碼中嗎?每次有人添加評論時,我都會調用addCell。你上面引用的行是一個示例調用代碼,我甚至沒有使用。如果你想在你的最後重現這個問題,你需要添加一個文本框和一個按鈕,並在按鈕操作上調用addCell方法。然後執行此操作:添加評論。然後,當評論開始消失時,添加另一條評論。你會看到重疊的評論。 – Prabhu

+0

@Prabhu我檢查確切的說:)我已經添加了一個textField和一個按鈕。點擊按鈕,我只是打電話給我,我在回答中描述了這一行。沒有重疊。所以,你添加了一堆額外的代碼。嘗試添加上點擊按鈕只是我的代碼。它完美的作品。在回答你之前,我檢查過了。 – iamalizade

+0

我確實在做這件事。我的調用代碼只有這一行。 – Prabhu