[英]UiView.animateWithDuration Not Animating Swift
我試圖使用下面的代碼動畫顯示/隱藏搜索欄(搜索欄應該從左邊開始,並在1-2秒內向右擴展)。 但是,它沒有動畫,無論我放了多少時間,都會立即顯示searchBar。 我發現以下情況:
動畫沒有發生。 立即顯示組件
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) { //code to get selected value... //Hide the collection view and show search bar UIView.animateWithDuration(10.0, delay: 0.0, options: UIViewAnimationOptions.TransitionCrossDissolve, animations: { self.searchBar.hidden = false self.searchBar.frame = CGRectMake(0, 0, 300, 44) //This doesn't work either }, completion: { (finished: Bool) in return true }) }
我正在使用Xcode 7,iOS 8和Swift 2.0。 我已經看到了其他解決方案,但它們都不適合我。 請幫忙......
更新 :它使用下面的代碼。 但是,它使用了UIViewAnimationOptionCurveEaseInOut
和TransitionNone
默認動畫選項
UIView.animateWithDuration(0.7,
animations: {
self.searchBar.alpha = 1.0
self.searchBarRect.origin.x = self.searchBarRect.origin.x + 200
self.searchBar.frame = self.searchBarRect
},
completion: { (finished: Bool) in
return true
})
在animateWithDuration之前,將XPosition設置為-200,將YPosition設置為-200。
像Daniel Suggested一樣,你需要從1.0之外的其他東西改變alpha,以便看到它“淡入”。
你在使用autolayout嗎? 如果是,您可能希望為約束而不是框架設置動畫。
最后,您確定已正確連接搜索欄嗎?
編輯:PS,我會將持續時間保持為3.0或5.0。 10.0會花費很長時間,可能會讓你認為它沒有做任何事情,因為需要多長時間。 將其設為3.0或5.0(最大)僅用於測試,然后降低到您想要的位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.