2015-09-29 30 views
5

Được rồi vì vậy tôi có UICollectionViewFlowLayout hỗ trợ hoạt ảnh giống như mùa xuân trong khi cuộn tương tự ứng dụng tin nhắn iOS. Dù sao, khi chuyển sang Swift 2.0, có vẻ như UIDynamics đã hoàn toàn thay đổi. Tôi đang cố gắng để chuyển đổi các khối sau nhưng tôi chỉ có thể không có vẻ để con số nó ra và tài liệu của Apple là rất không hỗ trợ ở đây. Các khối sau đây cần phải được chuyển đổi vẫn:Vấn đề UIDynamics trong iOS 9/Swift 2.0

var noLongerVisibleBehaviors = self.dynamicAnimator.behaviors.filter({behavior in 
     var currentlyVisible = itemsIndexPathsInVisibleRectSet.member(behavior.items![0].indexPath) != nil 
     return !currentlyVisible 
    }) 

    for (index, obj) in noLongerVisibleBehaviors.enumerate() { 
     self.dynamicAnimator.removeBehavior(obj) 
     self.visibleIndexPathsSet.removeObject(obj.items![0].indexPath) 
    } 

Cả hai khối gây ra lỗi:

"Value of type 'UIDynamicBehavior' has no member 'items' "

Sau đó, tôi có:

override func layoutAttributesForElementsInRect(rect: CGRect) -> [UICollectionViewLayoutAttributes]? { 
     return self.dynamicAnimator.itemsInRect(rect) 
    } 

trong đó sản xuất các lỗi:

"Cannot convert return expression of type '[UIDynamicItem]' to return type '[UICollectionViewLayoutAttributes]?' "

Mọi ý tưởng về làm thế nào tôi có thể chuyển đổi điều này? Tôi biết nhanh 2 là rất mới nhưng tôi không thể tìm thấy bất cứ điều gì trực tuyến liên quan đến điều này và như tôi đã nói, các tài liệu trên UIKitDynamicBehavior là thiếu để nói rằng ít nhất. Cảm ơn trước sự giúp đỡ của bạn!

Trả lời

4

Để khắc phục vấn đề khối đầu tiên:

Value of type ' UIDynamicBehavior ' has no member 'items'

let attachmentBehavior:UIAttachmentBehavior = behavior as! UIAttachmentBehavior 

Để khắc phục vấn đề thứ hai:

Cannot convert return expression of type ' [UIDynamicItem] ' to return type ' [UICollectionViewLayoutAttributes]? '

return self.dynamicAnimator.itemsInRect(rect) as? [UICollectionViewLayoutAttributes] 
0

Đó đã cho tôi cho đến nay, nhưng bây giờ tôi nhận được "giá trị gia tăng của loại 'UIDynamicItem' không có thành viên 'indexPath'

Tôi đã phải đ này cũng có

let item = attachmentBehavior.items[0] as! UICollectionViewLayoutAttributes 
Các vấn đề liên quan