2009-10-02 7 views
7

ナビゲーションコントローラの下に表示されるビューがあります。ビューには、上部に1つのサブビューが、下部にテーブルビューが含まれています。表には、データに基づいて可視の高さを超える行が含まれている場合があります。最後に表示されている行の下にある行がある場合、ビューをスクロールすると、それが戻ってきます。それを維持する方法はありますか? 親ビューをスクロールビューにしようとしましたが、それは助けになりませんでした。私の意見はXIBからのものです。テーブルビューのスクロールが戻ってボトムセルを隠して表示します

答えて

26

あなたのUITableViewのサイズのようなサウンドは、iPhoneの画面で使用できる領域よりわずかに大きいです。これは、ビューがhteナビゲーションバーのサイズを考慮していなかったためです。テストとして、Interface Builderに入り、UITableViewのサイズを半分にして、サイズを半分にして、上と下がはっきり見えるようにします。同じバウンスがまだあるかどうか確認してください。

サイズが正しい場合、UITableViewはUIScrollViewを期待どおりに機能させる必要はありません。実際には、私は今、(水平スクロール以外の)UIScrollView内にUITableViewが必要であると考えることができる理由はほとんどありません。

+0

あなたの観察のおかげで、問題が解決しました。 – Umark

+11

素晴らしい。私はあなたの歴史から、あなたの質問に対する正式な回答として受け入れられた回答のいずれも選択していないことを知っています。あなたはこれを知らなかったかもしれませんが、答えの左側にはチェックマークがあります。これをクリックすると、問題の解決策であった回答が選択されます。それは私にいくつかの評判を与えてくれるだけでなく、同じ質問をしている人々にとっては、どの答えがあなたを助けたのかを知ることができます。チャンスが得られたら、チェックマークをクリックしてください。ありがとう。 – mahboudz

+0

この問題が解決する前に、大変なことを試してみました。 –

0

"Simulated Metrics"設定の最上位のView Controllerで、View Controllerに表示されているものに応じてトップバーおよび/またはボトムバーを「不透明」に設定します。次に、ナビゲーションバーとツールバー/タブバーに合わせてテーブルビューのサイズを変更します。かかわらず向きに、私のために非常によく働いボトムレイアウトガイド

にトップレイアウトガイド

  • 下のスペースに

    1. トップスペース: は最後に、2つの制約を追加します。

  • 0

    あなたはストーリーボードを使用していない場合は、次の(SWIFT)コード試みることができる:(あなたがTabBarControllerを使用している場合)、ツールバーまたはを持っている場合は

    tableView.contentInset = UIEdgeInsetsMake((self.navigationController!.navigationBar.frame.origin.y + self.navigationController!.navigationBar.frame.size.height), 0, 0, 0) 
    
    self.view.addSubview(tableView) 
    

    を、あなたは調整する必要があります下端:

    これは簡単で「粗い」コードです。あなたはそれを必要に応じてもっときれいにすることができます:)

    関連する問題