2017-12-31 27 views
0

答えは、私がxamarinを使っていても、迅速で、客観的なCまたはC#のためのものです。 私はxamarinでストーリーボードにscrollviewを作成する際に問題がありますが、私はxcodeのチュートリアルに従いましたが、私は必要なことをすることができません。IOSのビューの前にスクロールビューを挿入できますか?

私はスクロールビューを削除し、長い垂直uiviewを持っているだけで、実際には、uiviewフレームを動かすパンジェスを使ってスクロールするコードを追加しました。

しかし、私は同じことを達成するために(コード内で)ビューの前にスクロールビューを挿入することが可能でなければならないが、srollviewも使用する方が良いだろうと知っている。

これは可能ですか?

+1

なぜそうですか、あなたが持っているコードや試してみたコードを表示すると、プロジェクトでどのようにコードを実行するかを示すことができます。 –

答えて

2

はい、可能です。たとえば、ScrollViewをサブビューとしてビューに追加することで、ViewControllerでこれを行うことができます。

override func viewDidLoad() { 
    super.viewDidLoad() 

    let scrollViewFrame = view.bounds 
    let scrollView = UIScrollView(frame: scrollViewFrame) 
    scrollView.autoresizingMask = [.flexibleWidth, .flexibleHeight] 
    scrollView.backgroundColor = UIColor.red 
    view.addSubview(scrollView) 

    let innerView = UIView(frame: CGRect(x: 0, y: 0, width: 50, height: 50)) 
    innerView.backgroundColor = UIColor.blue 
    scrollView.addSubview(innerView) 

    scrollView.contentSize = CGSize(width: scrollViewFrame.width, height: scrollViewFrame.height * 2) 
} 

この例では、ScrollViewのサイズはメインビューと同じです。これを調整するには、scrollViewFrameの定数を変更します。

innerViewの固定サイズは50x50です。 scrollView全体をカバーする必要がある場合は、scrollViewFrameと同じautoresizingMaskを使用してください。

スクロールするために、contentSizescrollViewの2倍に調整しました。これは、ソリューションには必要な場合とそうでない場合があります。

+2

であり、ビューのフレームが変更されると、スクロールビューのフレームを更新する(または自動レイアウトを使用する)必要があることをいつでも忘れないでください。 –

+0

@UpholderOfTruth良い点、私は私の答えを更新し、それに応じてautoresizingMaskを設定します。 – florieger

+0

であり、これに対してupvoteを持つことができます。 –

関連する問題