【问题标题】:Unable to override scrollViewDidScroll from UIScrollViewDelegate无法从 UIScrollViewDelegate 覆盖 scrollViewDidScroll
【发布时间】:2021-07-12 03:56:55
【问题描述】:

我是 iOS 的新手并且 swift,我试图从 UIScrollViewDelegate 覆盖 scrollViewDidScroll() 但它显示“方法不会覆盖其超类中的任何方法”,我正在关注本教程 https://www.youtube.com/watch?v=XQ3CVd8-zNE

这是我做的代码。

class ViewController: UIViewController, UIScrollViewDelegate {

    
    
    @IBOutlet weak var scrolliew: UIScrollView!
    @IBOutlet weak var pageControl: UIPageControl!
    
    var contentWidth:CGFloat=0.0
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        scrolliew.delegate=self
        
        for image in 0...3 {
            let imageToDisplay = UIImage(named:"\(image).png")
            let imageView = UIImageView(image:imageToDisplay)
            
            scrolliew.addSubview(imageView)
            
            let xCordinates = view.frame.minX + view.frame.width * CGFloat(image)
            
            contentWidth += view.frame.width
            
            imageView.frame=CGRect(x:xCordinates,y:view.frame.height/2,width:100,height:100)
            
        }
        
        scrolliew.contentSize=CGSize(width: contentWidth, height: view.frame.height)
    }
     

    override func scrollViewDidScroll(_ scrollView: UIScrollView) {
        //my code here
    }

}

【问题讨论】:

  • 如果您继续观看该视频,您会看到他收到同样的错误并最终删除了 override 关键字。作为旁注,这是处理此任务的可怕方式。

标签: ios swift uiscrollview


【解决方案1】:

您实际上不必重写该方法。 scrollViewDidScroll(...)UIScrollViewDelegate 协议的一部分,其实现是可选的。

只需删除 override 关键字即可修复错误。

【讨论】:

  • 是的,我知道,但我需要在教程中给出它的实现
  • 如果您注意到,他确实会遇到与您相同的错误。这是正确的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多