2016-06-01 5 views
0

私はストーリーボード内で定義されたUITableViewCellを持つコンテンツの一部として別のUITableViewを含むUITableViewCellを持つストーリーボードに定義されたUITableViewを持っています。uituitviewcellのuitableviewcellのswift uitableviewは常に0の自動レイアウトを持ちます

IB image

両方コンテンツビューは、完全に自動レイアウトで指定されています。しかし、ネストされたテーブルは常にフレームの高さがゼロです。ネストしたテーブルの高さをオンにすると、すべてのコンテンツが表示されるので、そこにあることがわかります。しかし、ハードコーディングされた高さなしでは常に0です。私はこれを前に行っていますが、何らかの理由で何かが欠けています。

トップレベルのテーブルが正常に動作します。ネストした表は、適切にセルをロードします。私はSOには本当に新しいものではないんだけど、何らかの理由で、私は私のOpenIDを動作させることはできません

removalTable.estimatedRowHeight = 127 
    removalTable.rowHeight = UITableViewAutomaticDimension 
    removalTable.setNeedsLayout() 
    removalTable.reloadData() 

のトリックをやりました。

+0

私はtableviewsを入れ子になったら、私の代わりに 'reloadData'の子テーブルビューに' layoutIfNeeded'を呼び出します。これは子供をすぐに配置するので、親はレイアウトを親にするときに親の子の高さを知っています(私はそれがどのように動作するかはかなり確信しています)。したがって、あなたの制約がすべて正しいと仮定すると、 'removalTable.layoutIfNeeded()'を呼び出すと役に立ちます。 –

+0

私はそれを試みましたが、何にも影響しませんでした。結局、私はネストされたテーブルビュー以外のものに行きました。 –

+0

奇妙なことに、スクロールビューの高さは正しく設定されていますが、テーブルフレーム自体は正しく設定されていません。 –

答えて

0

私はこのエラーに多くの時間を見てきました。 あなたが表示され、細胞内良い制約を設定されていないので、それはおそらくです。 あなたは何を確認する必要がありますか?

  1. 少なくとも、上部と下部にはアンカーがあります。
  2. あなたはあなたのコンテンツの一つのビューでの固定の高さを持っています。

たぶんこの記事はあなたを助けることができる:Using Auto Layout in UITableView for dynamic cell layouts & variable row heights

私はそれはあなたを助け願っています。

+0

画像の制約を見ることができます。コンテンツビューには完全に指定されています。 –

+0

その投稿では、問題が存在するネストした表については説明しません。 –

+0

はい、問題はそのテーブルビューを含むセルであるためです。そのセルの内部にあるそのテーブルビューの高さを指定する必要があります。 @BigHenry – Gabox

関連する問題