【问题标题】:Implementing Multitasking Bar ios7实现多任务栏 ios7
【发布时间】:2015-03-05 03:24:12
【问题描述】:

我在实现 iOS 7 样式的多任务 UI 时遇到问题。我的问题出在多任务 UI 的底部。

我假设这是作为 UICollectionView 实现的,当您滚动此位时,您会通过 uicollectionview 流布局委托更改行间距......这一切都很好,但是当您滚动它们时,速度感觉不自然。我认为这是因为滚动时单元格之间的行距会发生变化......

如果你们能提供一些意见,那就太好了!

非常感谢!

【问题讨论】:

    标签: swift ios7 uiscrollview uikit uicollectionview


    【解决方案1】:

    好吧,所以在破解更多 uiscrollview 之后,显然你可以更改内容插图以“控制”滚动视图的速度......一旦我完成了这个,我将在 github 中为人们放一个代码

    编辑

    这比我想象的要难......但显然在滚动时动态更改内容插入不会像 iOS7 中的原生多任务栏那样产生自然效果。它“更好”,但我想知道我是否在这里遗漏了什么......这是我目前代码的伪逻辑......

                let countItems = self.collectionView(self.mainCardCollectionView, numberOfItemsInSection: 0)
                if countItems >= 6{
                    let insetIconOffset:CGFloat = (CGFloat(2) * self.maximumIconSpacing) - (CGFloat(2) * self.minimumIconSpacing)
    
                    
                    if scrollView.contentOffset.x < first2Offset{
                        self.interLineSpacing = self.maximumIconSpacing;
                        self.adjustCardInset(0)
    
                    }else if scrollView.contentOffset.x >= first2Offset &&  scrollView.contentOffset.x < first3Offset-1{
                        let offset:CGFloat = scrollView.contentOffset.x - first2Offset
                        let percentage:CGFloat = offset/CGFloat(first3Offset - first2Offset)
                        self.interLineSpacing = self.maximumIconSpacing - percentage*(self.maximumIconSpacing-self.minimumIconSpacing);
                        self.adjustCardInset(2)
                        
                        
                    }else if scrollView.contentOffset.x >= last3Offset && scrollView.contentOffset.x < last2Offset {
                        let offset:CGFloat = scrollView.contentOffset.x - last3Offset
                        let percentage:CGFloat = offset/(last2Offset - last3Offset)
                        self.interLineSpacing = self.minimumIconSpacing + percentage*(self.maximumIconSpacing-self.minimumIconSpacing);
                        self.adjustCardInsetRight(2, numberItems: countItems-3)
                        
                        println("card ajust before last 2")
                        //self.adjustCardInset(2)
                        //println("offset \(offset) percentage \(percentage) interlinespacing \(self.interLineSpacing)")
    
                    }else if scrollView.contentOffset.x >= last2Offset{
                        self.interLineSpacing = self.maximumIconSpacing
                        self.adjustCardInsetRight(2, numberItems: countItems-3)
                        
                        println("card ajust after last 2")
                        //self.adjustCardInset(2)
                    }else{
                        self.interLineSpacing = self.minimumIconSpacing
                        self.adjustCardInset(2)
                    }
                
                }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-09
      • 1970-01-01
      • 2011-09-12
      • 1970-01-01
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多