好的,我有一个UICollectionViewFlowLayout,它支持类似春天的动画,同时滚动,类似于iOS消息应用程序。无论如何,在转换到SWIFT2.0之后,UIDynamics似乎已经完全改变了。我试图转换以下模块,但我似乎无法理解,苹果的文档在这里是非常不支持的。仍需对下列区块进行转换:
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)
}这两个块都会导致错误:
“类型'UIDynamicBehavior‘的值没有成员’项‘”
那我就有:
override func layoutAttributesForElementsInRect(rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
return self.dynamicAnimator.itemsInRect(rect)
}它会产生错误:
“不能将'UIDynamicItem‘类型的返回表达式转换为返回类型’UICollectionViewLayoutAttributes‘?”
对我如何改变这个有什么想法吗?我知道斯威夫特2是非常新的,但我在网上找不到任何关于这个的东西,就像我说过的,关于UIKitDynamicBehavior的文档至少是缺乏的。提前感谢您的帮助!
发布于 2015-10-01 17:40:26
要修复第一个块问题,请执行以下操作:
类型“
UIDynamicBehavior”的值没有成员“项”
let attachmentBehavior:UIAttachmentBehavior = behavior as! UIAttachmentBehavior要解决第二个问题:
无法将“
[UIDynamicItem]”类型的返回表达式转换为返回类型“[UICollectionViewLayoutAttributes]?”
return self.dynamicAnimator.itemsInRect(rect) as? [UICollectionViewLayoutAttributes]发布于 2016-07-11 22:27:45
这让我到目前为止,但现在我得到“类型'UIDynamicItem‘的值没有成员'indexPath’
我还得加上这个
let item = attachmentBehavior.items[0] as! UICollectionViewLayoutAttributeshttps://stackoverflow.com/questions/32849349
复制相似问题