首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIDynamics 9/ SWIFT2.0中的iOS问题

UIDynamics 9/ SWIFT2.0中的iOS问题
EN

Stack Overflow用户
提问于 2015-09-29 16:36:46
回答 2查看 526关注 0票数 5

好的,我有一个UICollectionViewFlowLayout,它支持类似春天的动画,同时滚动,类似于iOS消息应用程序。无论如何,在转换到SWIFT2.0之后,UIDynamics似乎已经完全改变了。我试图转换以下模块,但我似乎无法理解,苹果的文档在这里是非常不支持的。仍需对下列区块进行转换:

代码语言:javascript
复制
    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‘的值没有成员’项‘”

那我就有:

代码语言:javascript
复制
    override func layoutAttributesForElementsInRect(rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
       return self.dynamicAnimator.itemsInRect(rect)
    }

它会产生错误:

“不能将'UIDynamicItem‘类型的返回表达式转换为返回类型’UICollectionViewLayoutAttributes‘?”

对我如何改变这个有什么想法吗?我知道斯威夫特2是非常新的,但我在网上找不到任何关于这个的东西,就像我说过的,关于UIKitDynamicBehavior的文档至少是缺乏的。提前感谢您的帮助!

EN

回答 2

Stack Overflow用户

发布于 2015-10-01 17:40:26

要修复第一个块问题,请执行以下操作:

类型“UIDynamicBehavior”的值没有成员“项”

代码语言:javascript
复制
let attachmentBehavior:UIAttachmentBehavior = behavior as! UIAttachmentBehavior

要解决第二个问题:

无法将“[UIDynamicItem]”类型的返回表达式转换为返回类型“[UICollectionViewLayoutAttributes]?

代码语言:javascript
复制
return self.dynamicAnimator.itemsInRect(rect) as? [UICollectionViewLayoutAttributes]
票数 4
EN

Stack Overflow用户

发布于 2016-07-11 22:27:45

这让我到目前为止,但现在我得到“类型'UIDynamicItem‘的值没有成员'indexPath’

我还得加上这个

代码语言:javascript
复制
let item = attachmentBehavior.items[0] as! UICollectionViewLayoutAttributes
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32849349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档