2017-06-29 5 views
1

にUIContainerViewを追加することはできません:私はのUIViewControllerを追加したいはとして参照、私はストーリーボードにUIScrollViewのを追加したUIScrollViewの

@IBOutlet weak private var myScrollView: UIScrollView! 

のでcontainerviewを必要としています。私はそうのviewDidLoadに加え、黒の背景(それを見るために)で、単純なのUIViewを追加するために行く最初のインスタンスで

let containerView = UIView() 
    containerView.frame = CGRect(x: 50, y: 150, width: 200, height: 200) 
    containerView.backgroundColor = UIColor.black 
    myScrollView.addSubview(containerView) 

と...何もありません。解決策を探しまわって

は私が

self.view.addSubview(myScrollView)

しかし、すでにビューに追加されmyScrollView確かに1を使用することができましたか? および2. myScrollViewで新しいビューをスクロールできません

この初期のハードルを乗り越える手助けがありますか?

答えて

1

コンテンツをスクロールするには、フレームサイズより大きくする必要があります。

// If the scroll view is not showing, check its frame 
scrollView.frame = CGRect(x: 0, y: 318, width: 375, height: 248) 
// Content size must be greater than frame size 
scrollView.contentSize = CGSize(width: 400, height: 500) 

let containerView = UIView() 
containerView.frame = CGRect(x: 50, y: 150, width: 200, height: 200) 
containerView.backgroundColor = UIColor.black 
scrollView.addSubview(containerView) 
1

コードがよろしいですか?ここで私はそれを自分で実行するときのように見えます。

enter image description here

  1. あなたの質問に答えるために私がやっている何のような別の色にあなたのスクロールビューの背景を設定します。次に、何がうまくいかないかを知ることができます。ビューコントローラであるself.viewではなく、スクロールビューにコンテナビューを追加する必要があります。 self.Viewに追加すると、コンテナビューはビューコントローラに固定され、スクロールビューではスクロールしません。代わりにスクロールビューをカバーします

  2. コンテンツサイズがビューのサイズより小さい場合、スクロールビューはスクロールできません。すなわち、デフォルトでは、スクロール可能にするには短すぎます。だから、単純にこのコード

    scrollView.contentSize = CGSize(width: scrollView.contentSize.width, height: 2000)

ことによってそれ高くします
関連する問題