2

公正な警告、私はiOSにかなり慣れていないため、明らかな何かが欠けている可能性があります。

いくつUIScrollViewかのフィールドがあり、それらのフィールドの高さは変更できます(UITextViewテキスト、折りたたみ可能なフィールドなどに合わせて伸びます)。contenSize明らかに、スクロールできるようにするために、スクロールビューをコンテンツに合わせたいと思います。

contentSize現在、何かが変更されるたびに再計算して設定するように設定していますが、これはうまく機能しますが、それを行うためのより良い方法はありますか? つまり、別の開発者がフィールドを追加し、それを再計算関数に追加することを忘れた場合、私が間違っていない限りcontentSize、フィールドがスクロールビューにあるにもかかわらず、スクロールビューが間違っているでしょうか? コンテンツの変更に合わせて「自動的に」サイズを変更する方法はありませんか?

4

3 に答える 3

4

はい、自動レイアウトでこれを達成するためのより良い方法があります。Apple には、スクロールビューで自動レイアウトを使用するための非常に優れたドキュメントがあります。私は純粋な autolayout アプローチを好みますが、そのアプローチを適用するには、フィールドのサイズがスクロールビューのサイズに依存していないことを確認する必要があります。これは理にかなっています。ただし、スクロール ビューがそのコンテンツのサイズを決定できるように、制約がスクロール ビューのすべての側面に及ぶことを確認してください。

(つまり@"H:|[textView(==view)]|"@"V:|[textView(50)]|"'|' は、textView がサブビューである scrollView を示し、'==view' は、textView の幅がビュー 'view' の幅と同じでなければならないことを指定するだけです。)

于 2013-08-29T20:53:44.757 に答える