更新:发布我正在尝试转换的方法,最初发布了一个不同于我试图隐藏的方法
这适用于Objective C,但不适用于Swift.当我尝试将ceilf和floorf与CGfloat一起使用时,我得到了转换错误.
- (voID)scrollVIEwWillEndDragging:(UIScrollVIEw *)scrollVIEw withVeLocity:(CGPoint)veLocity targetContentOffset:(inout CGPoint *)targetContentOffset{ float pageWIDth = 200 + 30; // wIDth + space float currentOffset = scrollVIEw.contentOffset.x; float targetoffset = targetContentOffset->x; float newTargetoffset = 0; if (targetoffset > currentOffset) newTargetoffset = ceilf(currentOffset / pageWIDth) * pageWIDth; else newTargetoffset = floorf(currentOffset / pageWIDth) * pageWIDth; if (newTargetoffset < 0) newTargetoffset = 0; else if (newTargetoffset > scrollVIEw.contentSize.wIDth) newTargetoffset = scrollVIEw.contentSize.wIDth; targetContentOffset->x = currentOffset; [scrollVIEw setContentOffset:CGPointMake(newTargetoffset,0) animated:YES];}解决方法 回答Christian:我能够在Swift中重写它.我将所有内容设置为float来进行数学计算,然后转换为CGfloat,因为Christian提到了可能.他的回答在技术上是正确的,但是向我展示了一个更新的iOS开发人员如何用Swift编写这个是我想要的.
func scrollVIEwWillEndDragging(scrollVIEw: UIScrollVIEw!,withVeLocity veLocity: CGPoint,targetContentOffset: UnsafePointer<CGPoint>) { var pageWIDth = float(200 + 30) var currentOffset = float(scrollVIEw.contentOffset.x) var targetoffset = float(targetContentOffset.memory.x) var newTargetoffset = float(0) var scrollVIEwWIDth = float(scrollVIEw.contentSize.wIDth) if targetoffset > currentOffset { newTargetoffset = ceilf(currentOffset / pageWIDth) * pageWIDth } else { newTargetoffset = floorf(currentOffset / pageWIDth) * pageWIDth } if newTargetoffset < 0 { newTargetoffset = 0 } else if newTargetoffset > currentOffset { newTargetoffset = currentOffset } float(targetContentOffset.memory.x) == currentOffset scrollVIEw.setContentOffset(CGPointMake(CGfloat(newTargetoffset),0),animated: true) }总结
以上是内存溢出为你收集整理的objective-c – 在Swift中,你如何编写scrollViewWillEndDragging withVelocity targetContentOffset方法?全部内容,希望文章能够帮你解决objective-c – 在Swift中,你如何编写scrollViewWillEndDragging withVelocity targetContentOffset方法?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)