ナビゲーション コントローラーの下に表示されるビューがあります。このビューには、上部にサブビューが 1 つ、下部にテーブル ビューが含まれています。テーブルには、データに基づいて表示可能な高さを超える行が含まれる場合があります。表示されている最後の行より下にある行がある場合、ビューを上にスクロールすると、元に戻り、そこにとどまりません。とどまらせる方法はありますか?親ビューをスクロール ビューにしようとしましたが、役に立ちませんでした。私の見解はXIBからのものです。
3 に答える
UITableViewのサイズがiPhone画面で利用可能な領域よりもわずかに大きいように聞こえます。これは、ビューがナビゲーションバーのサイズを考慮していなかったことが原因である可能性があります。テストとして、Interface Builderに移動し、UITableViewをはるかに小さく、たとえば半分のサイズにして、上下がはっきりと見えるようにします。同じバウンスがまだあるかどうかを確認します。
サイズが正しい場合、UITableViewは期待どおりに機能するためにUIScrollViewを必要としません。実際、UIScrollView内にUITableViewが必要であるという理由は、(水平スクロール以外で)私が今考えることができるいくつかの理由があります。
最上位のView Controllerの「Simulated Metrics」設定で、Top Barおよび/またはBottom Bar(View Controllerに表示される内容に応じて)を「不透明」に設定します。次に、Table View のサイズを変更して、Navigation Bar と Tool Bar/Tab Bar の間に収まるようにします。最後に、2 つの制約を追加します。
- トップ スペースからトップへのレイアウト ガイド
- 下部スペースから下部へのレイアウト ガイド
オリエンテーションに関係なく、私にとっては非常にうまく機能しました。