スクロールビューの操作


スクロールビューを操作する場合、そのスーパービュー内のスクロールビューのフレームのサイズと位置、およびスクロールビューのコンテンツ領域のサイズの両方を定義する必要があります。これらの機能はすべて、自動レイアウトを使用して設定できます。


スクロールビューをサポートするために、システムは制約の位置に応じて制約を異なる方法で解釈します。


最も一般的なレイアウトタスクでは、ダミービューまたはレイアウトグループを使用してスクロールビューのコンテンツを含めると、論理がはるかに簡単になります。Interface Builder で作業する場合の一般的なアプローチを以下に示します。


  1. シーンにスクロールビューを追加します。

  2. 通常どおり、スクロールビューのサイズと位置を定義するために制約を描画します。

  3. スクロールビューにビューを追加します。ビューの Xcode 固有のラベルをコンテンツビューに設定します。

  4. コンテンツビューの上端、下端、先端、後端をスクロールビューの対応する端に固定 (Pin) します。コンテンツビューは、スクロールビューのコンテンツ領域を定義するようになりました。

  5. 注意:

    この時点では、コンテンツビューのサイズは固定されていません。内部に配置する全てのビューやコントロールに合わせて伸縮できます。




  6. (オプション) 水平スクロールを無効にするには、コンテンツビューの幅をスクロールビューの幅と同じに設定します。コンテンツビューがスクロールビューを水平方向に満たすようになりました。

  7. (オプション) 垂直スクロールを無効にするには、コンテンツビューの高さをスクロールビューの高さと同じに設定します。コンテンツビューがスクロールビューを水平方向に満たすようになりました。

  8. コンテンツビュー内にスクロールビューのコンテンツをレイアウトします。制約を使用して、コンテンツを通常どおりコンテンツビュー内に配置します。

重要:

レイアウトでは、コンテンツビューのサイズを完全に定義しなければなりません (手順 5 と 6 で定義されている場合を除く)。コンテンツ固有のサイズに基づいて高さを設定するには、コンテンツビューの上端から下端に伸びる制約とビューの切れ目のないチェーンがなければなりません。同様に、幅を設定するには、コンテンツビューの先端から後端まで、切れ目のない制約とビューがなければなりません。


コンテンツに固有のコンテンツサイズがない場合は、コンテンツビューまたはコンテンツに適切なサイズの制約を追加しなければなりません。


コンテンツビューがスクロールビューよりも高い場合、スクロールビューでは垂直スクロールが有効になります。コンテンツビューがスクロールビューよりも広い場合、スクロールビューでは水平スクロールが有効になります。それ以外の場合、スクロールはデフォルトで無効になっています。




前:サイズクラス固有のレイアウト 次:自動サイズ化テーブルビューセルの操作


































目次
Xcode の新機能

  • 始めましょう

  • 自動レイアウトガイド全メニュー

  • 自動レイアウトレシピ集

  • 自動レイアウトのデバッグ

  • 高度な自動レイアウト

  • プログラムによる制約の作成
  • サイズクラス固有のレイアウト
  • スクロールビューの操作
  • 自動サイズ化テーブルビューセルの操作
  • 制約の変更

  • 付録

  • 改訂記録











  • トップへ









    トップへ









    トップへ









    トップへ









    トップへ









    トップへ









    トップへ









    トップへ









    トップへ









    トップへ









    トップへ









    トップへ









    トップへ









    トップへ









    トップへ









    トップへ









    トップへ









    トップへ