0

これはかなり一般的な質問のようですが、どのコードまたは変更を行っても、機能させることができません。私が取り組んでいる非常に単純な例があります。

ストーリーボードは 4 インチの縦向きに設定されています。UIScrollView は幅 320 ピクセル x 高さ 440 ピクセルです。幅 320 ピクセル、高さ 900 ピクセルの UIView が含まれています。アプリケーションは縦向きにのみロックされていますが、3.5 インチと 4 インチの両方の画面で動作する必要があります。

UIScrollView内でUIViewを垂直にスクロールするにはどうすればよいですか? 制約を設定する必要がありますか? Clip Subviews と Autoresize Subviews を何に設定する必要がありますか?違いはありますか? 表示モードを何に設定する必要がありますか?それによって違いはありますか? UIScrollView の ContentSize をプログラムでリセットする必要がありますか? もしそうなら、これは ViewDidLoad イベントで行われますか?

UIView、UIView の一番下の要素、および UIScrollView 自体に垂直方向の制約を追加しようとしました。UIView に合わせてコンテンツ サイズをプログラムで設定しました。

私はあらゆる種類の他のツールで UI を構築してきましたが、これは非常に単純なことに私を狂わせています。自動レイアウトをオフにすると正常に動作しますが、それは私が探している解決策ではありません。

4

2 に答える 2

4

この答えが機能するようになりました。 https://stackoverflow.com/a/16029013/1342779

具体的には、viewDidLoad メソッドの私のコード:

[_scrollView addConstraint:[NSLayoutConstraint constraintWithItem:_innerView
                                                           attribute:NSLayoutAttributeBottom
                                                           relatedBy:NSLayoutRelationEqual
                                                              toItem:_scrollView
                                                           attribute:NSLayoutAttributeBottom
                                                          multiplier:1.0
                                                            constant:0]];
于 2013-11-11T05:42:10.697 に答える
0

このビデオを見てください。また、スクロールビューのコンテンツサイズを問題なく設定することもできます。

// For verical scrolling
scrollView.contentSize = CGSizeMake(viewToScroll.width, viewToScroll.height * numberOfPages);

// For horizontal scrolling
scrollView.contentSize = CGSizeMake(viewToScroll.width * numberOfPages, viewToScroll.height);
于 2013-11-11T04:22:00.190 に答える