testinggnitset ser
testinggnitset ser

Reputation: 297

UIScrollView inside another view not scrolling

So I've seen other SO questions but I can't really figure out mine

I know my UIScrollView code works because I tested it in a regular UIViewController so I don't think contentSize is the problem, but when I place the same code inside a UICollectionReusableView it doesn't scroll anymore

-Working in UIViewController
    override func viewDidLoad() {
      super.viewDidLoad()
      let scrollingView = colorButtonsView(buttonSize: CGSize(width:100.0,height:50.0), buttonCount: 10)

      let scrollView = UIScrollView(frame: UIScreen.main.bounds)
      scrollView.backgroundColor = UIColor.black
      scrollView.contentSize = scrollingView.frame.size
      scrollView.showsHorizontalScrollIndicator = true

      self.view.addSubview(scrollView)
      scrollView.addSubview(scrollingView)

   }

-Not working in UICollectionReusableView

 override init(frame: CGRect) { 
    super.init(frame: frame)

    //Add category scroll view 
    let scrollingView = colorButtonsView(buttonSize: CGSize(width:100.0,height:50.0), buttonCount: 10)

    let scrollView = UIScrollView(frame: UIScreen.main.bounds)
    scrollView.backgroundColor = UIColor.black
    scrollView.contentSize = scrollingView.frame.size

    scrollView.showsHorizontalScrollIndicator = true

    self.addSubview(scrollView) //Only changes self.view to self
    scrollView.addSubview(scrollingView)


 }

Upvotes: 1

Views: 329

Answers (1)

J.C
J.C

Reputation: 1439

Better late than never...I had the same problem, so maybe this is why;

I wanted to put a UIScrollView inside a UICollectionReusableView but by accident I had created my custom class as;

class CustomCellHeader: UICollectionViewCell {


}

instead of;

class CustomCellHeader: UICollectionReusableView {


}

Once I changed that, the UIScrollView within my header cell came to life!

Upvotes: 1

Related Questions