2016-09-13 7 views
0

scrollView 내부에 collectionView가있는보기 컨트롤러를 만들려고합니다. 내가 scrollView, 다음 collectionView, 그리고 다른 콘텐츠에 대한 컨테이너보기를 추가하지만 어떻게 든 화면이 비어 있습니다.scrollview가있는 ViewController에 빈 화면이 표시됩니다.

코드 내가 뭘 잘못

import UIKit 

class BrowseProfileViewController:BaseViewController, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout { 

var photosArray:[UIImage]? 
var cellId = "CellId" 

var scrollView:UIScrollView = { 
    var scrollView = UIScrollView() 
    scrollView.translatesAutoresizingMaskIntoConstraints = false 
    return scrollView 
}() 

lazy var photoGalleryCollectionView:UICollectionView = { 
    var layout = UICollectionViewFlowLayout() 
    layout.scrollDirection = .Horizontal 
    layout.itemSize = CGSize(width: self.view.frame.width, height: self.view.frame.width) 
    layout.sectionInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0) 
    layout.minimumLineSpacing = 0 
    layout.minimumLineSpacing = 0 
    var collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout) 
    collectionView.delegate = self 
    collectionView.dataSource = self 
    collectionView.translatesAutoresizingMaskIntoConstraints = false 
    collectionView.pagingEnabled = true 
    return collectionView 
}() 


var containerView:UIView = { 
    var view = UIView() 
    view.translatesAutoresizingMaskIntoConstraints = false 
    return view 
}() 

override func viewDidLoad() { 
    super.viewDidLoad() 
    navigationController?.setNavigationBarHidden(true, animated: false) 

    photoGalleryCollectionView.registerClass(AlbumsCell.self, forCellWithReuseIdentifier: cellId) 

    photosArray = [UIImage(named:"q")!, UIImage(named:"qq")!, UIImage(named:"qqq")!] 

    view.addSubview(scrollView) 
    scrollView.trailingAnchor.constraintEqualToAnchor(view.trailingAnchor).active = true 
    scrollView.leadingAnchor.constraintEqualToAnchor(view.leadingAnchor).active = true 
    scrollView.topAnchor.constraintEqualToAnchor(view.topAnchor).active = true 
    scrollView.leadingAnchor.constraintEqualToAnchor(view.leadingAnchor).active = true 

    scrollView.addSubview(photoGalleryCollectionView) 
    photoGalleryCollectionView.leadingAnchor.constraintEqualToAnchor(view.leadingAnchor).active = true 
    photoGalleryCollectionView.trailingAnchor.constraintEqualToAnchor(view.trailingAnchor).active = true 
    photoGalleryCollectionView.topAnchor.constraintEqualToAnchor(scrollView.topAnchor).active = true 
    photoGalleryCollectionView.heightAnchor.constraintEqualToConstant(self.view.frame.width).active = true 

    scrollView.addSubview(containerView) 
    containerView.leadingAnchor.constraintEqualToAnchor(view.leadingAnchor).active = true 
    containerView.trailingAnchor.constraintEqualToAnchor(view.trailingAnchor).active = true 
    containerView.topAnchor.constraintEqualToAnchor(photoGalleryCollectionView.bottomAnchor).active = true 
    containerView.bottomAnchor.constraintEqualToAnchor(scrollView.bottomAnchor).active = true 

} 

func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 
    return photosArray!.count 
} 

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 
    let cell = collectionView.dequeueReusableCellWithReuseIdentifier(cellId, forIndexPath: indexPath) as! AlbumsCell 
    cell.imageView.image = photosArray![indexPath.item] 
    return cell 

} 

}

을 따르고있다?

답변

0

코드를 테스트하지 않은 상태에서 scrollViewcontentSize을 확인하십시오. 아마도 CGSizeZero 일 것입니다. UIScrollView포옹 가능한 한 많은 내용을 담고 있으며 하위 뷰 중 어느 것도 explicit size이 없으므로 CGSizeZero으로 계약합니다.

는 ScrollViews에 Apples Documentation를 참조하고, NSLayoutConstraintUIScrollView를 사용하는 방법에 대한이 BlogPost에 의해 원자 객체.

관련 문제