2016-08-12 12 views
0

私は役に立たないソリューションの迅速なバージョンを検索しようとしてきました。私はどのように私のビューコントローラのスクロールコンテンツを作ることができるのだろうかと思っていた。今はちょうど静止していますが、私はスクロールできない以下のコンテンツがあります。UIViewControllerの内容をスクロールする方法は?

class ProfileViewController: UIViewController, UICollectionViewDelegateFlowLayout { 
    let postsId = "postsId" 
    override func viewDidLoad() { 
    super.viewDidLoad() 


    view.addSubview(profileContainerView) 
    view.addSubview(profileTabCollection) 
    view.addSubview(containerForCollectionView) 
    view.addSubview(scrollView) 

    scrollView.widthAnchor.constraintEqualToConstant(view.frame.size.width).active = true 
    scrollView.heightAnchor.constraintEqualToConstant(view.frame.size.height).active = true 
    scrollView.centerXAnchor.constraintEqualToAnchor(view.centerXAnchor).active = true 
    scrollView.centerYAnchor.constraintEqualToAnchor(view.centerYAnchor).active = true 

    scrollView.userInteractionEnabled = true 
    scrollView.scrollEnabled = true 
    scrollView.delegate = self 


    containerForCollectionView.widthAnchor.constraintEqualToConstant(scrollView.frame.size.width).active = true 
    containerForCollectionView.heightAnchor.constraintEqualToConstant(scrollView.frame.size.height).active = true 
    containerForCollectionView.topAnchor.constraintEqualToAnchor(profileTabCollection.bottomAnchor).active = true 

    profileContainerView.widthAnchor.constraintEqualToConstant(scrollView.frame.size.width).active = true 
    profileContainerView.heightAnchor.constraintEqualToConstant(250).active = true 
    profileContainerView.centerXAnchor.constraintEqualToAnchor(scrollView.centerXAnchor).active = true 
    profileContainerView.topAnchor.constraintEqualToAnchor(topLayoutGuide.bottomAnchor).active = true 

    profileTabCollection.widthAnchor.constraintEqualToAnchor(profileContainerView.widthAnchor).active = true 
    profileTabCollection.heightAnchor.constraintEqualToConstant(50).active = true 
    profileTabCollection.centerXAnchor.constraintEqualToAnchor(view.centerXAnchor).active = true 
    profileTabCollection.topAnchor.constraintEqualToAnchor(profileContainerView.bottomAnchor).active = true 

} 

lazy var scrollView: UIScrollView = { 
    let sv = UIScrollView(frame: CGRectMake(0,0,1024,768)) 
    sv.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height * 3) 
    sv.translatesAutoresizingMaskIntoConstraints = false 
    return sv 
}() 


let containerForCollectionView: UIView = { 
    let view = UIView() 
    view.backgroundColor = UIColor.purpleColor() 
    view.translatesAutoresizingMaskIntoConstraints = false 
    return view 
}() 
+1

このscrollview.contentSize = CGSizeMake(view.frame.size.width、view.frame.size.height + 500) 'scrollView.heightAnchor'の後に –

+0

それは、それスクロールしていないようです –

+0

あなたはストーリーボードを使用していますか?それは制約にいくつかの問題があるようです。 –

答えて

0

これらの行をオーバーライドlayoutSubviews()メソッドで書き込みます。

scrollView.widthAnchor.constraintEqualToAnchor(view.widthAnchor).active = true 
scrollView.heightAnchor.constraintEqualToAnchor(view.heightAnchor).active = true 

UIViewControllerにUIScrollViewを作成したことを確認してください。それ以外の場合は、正常に機能しません。

0

あなたはSWIFT 2.0を使用していては、 "UIScrollViewDelegate" を使用している場合 - あなたはこの機能

を必要とする - あなたはSWIFT 3.0を使用している場合は、この方法

func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? { 
     return imgview 
    } 

を追加する必要があり、

func viewForZooming(in scrollView: UIScrollView) -> UIView? { 
     return imgview 
    } 
関連する問題