You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift 4适配:替换CGRectGetWidth为CGRect.width并计算滚动页码

Swift 4 适配后的滚动代理代码

没问题,这就帮你把这段UIScrollView代理代码适配到Swift 4版本。正如系统提示的那样,CGRectGetWidth()这类C风格的函数在Swift 4里已经被CGRect.width这个属性替代了,我们只需要替换这一处API调用就可以了,页码计算的逻辑完全不需要改动。

适配后的完整代码如下:

// MARK: UIScrollViewDelegate
override func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
    let pageWidth: CGFloat = scrollView.frame.width
    let currentPage: CGFloat = floor((scrollView.contentOffset.x - pageWidth/2)/pageWidth) + 1
    // 更新页码指示器
    pageControl.currentPage = Int(currentPage)
}

简单说明下:

  • 把CGRectGetWidth(scrollView.frame)直接替换成scrollView.frame.width,这是Swift 4及以后推荐的更简洁、更符合Swift风格的写法
  • 原有的页码计算逻辑保持不变,依然能准确计算滚动结束后的当前页码

内容的提问来源于stack exchange,提问作者Faris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:38:42