問題タブ [uitableviewautomaticdimension]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
9409 参照

objective-c - iOS: UITableViewCell の動的な高さ

iOS9 XCode7 を使用しています labelText Height に従ってセルの高さを動的に変更する必要があります

利用した:

ただし、カスタムメイドのセルでは機能しません。 sizetoFitiOS9で削除されました。

何か提案してください。ありがとう

0 投票する
1 に答える
4260 参照

ios - UITableViewCell自動行の高さが非同期呼び出し後に機能しない

カスタム uitableviewcell を自動寸法で動作させることに成功しました。カスタムセルには、ラベル (キャプションを表示するために使用され、1 行または複数行にすることができます) とイメージビューがあります。自動レイアウトは正しく設定されており、行の推定高さを指定し、行の高さを自動寸法に設定しました。viewDidLoad でセットアップされたダミー データを使用すると、UILabel テキストに基づいてカスタム セルの高さが動的に変化します。

ただし、カスタム tableviewcell クラス内、つまり cellForRowAtIndexPath メソッド内で API 呼び出しを行い、対応するデータを取得して UILabel と UIImageView に表示する必要があります。データの取得に成功したら、UI 要素を更新します。ただし、この場合、セルの高さは動的に変化せず、UILabel は 1 行に切り捨てられます。

reloadRowsAtIndexPath メソッドを呼び出してみましたが、テーブルビューをスクロールすると奇妙なバウンスが発生します。私は何時間も試しましたが、API 呼び出しからデータをフェッチした後、自動テーブルビューの行の高さを機能させる方法はありますか?

0 投票する
0 に答える
655 参照

ios - UITableViewAutomaticDimension が有効になっている UITableView セルのカスタム UIView

私はUITableViewUITableViewAutomaticDimensionいくつか持っていestimatedRowHeightます。このテーブルUITableViewCellでは、いくつかのラベルを含むカスタムUIViewとオーバーライドされたカスタムを使用していますintrinsicContentSize()。制約の設定は正しく、テーブルは各行の実際の高さを決定できます。ここまでは順調ですね。

ここで、カスタムビューの内部ロジックを変更して、使用可能な幅に基づいて外観を調整し始めました。つまり、テーブルのセルサイズが十分に広くない場合、ビューは新しい制限に合わせてサブビューを再配置でき、これは結果の高さに影響を与えるため、次のようなコードがありますそれ:

ここで、テーブル ビューに入力すると、intrinsicContentSize()目的の値が返されますが、現在のレイアウトには適していません。その後layoutSubviews()、サイズが再計算され、システムが再度呼び出される場所に制御が移動し、intrinsicContentSize()適切な値が返されます。ただし、最初のテーブルではデータが読み込まれ、セルの高さは正しくない値に基づいて計算されintrinsicContentSize()ます。もう一度呼び出すreloadData()と、すべてが正常になり、テーブル内の今後のすべてのセルのレイアウトも問題ありません。

私の間違いはどこにあり、コードを変更して、セルのサイズ変更をreloadData()2 回呼び出すことなく正しく機能させる方法を教えてください。

0 投票する
1 に答える
529 参照

ios - AutoLayout の systemLayoutSizeFittingSize は UILabels でのみ機能しますか?

メソッドを使用して自動高さ計算で UITableViewCell を作成する必要がありましたsystemLayoutSizeFittingSize:UILayoutFittingCompressedSize。私のビューが UILabels と UIImageViews を持つまでは、すべてがうまく機能していました。ラベルの 1 つを UIButton に置き換える必要があるとき、メソッドはサイズを正しく計算しませんでした。

適切に動作させるために、UILabels 以外の UIElements に追加情報を提供する必要がありますか?

最後に、TapGestures を UILabels に追加して機能させる必要がありました。

セルビューは次のとおりです。

ここに画像の説明を入力

時間「09:00 AM」と場所はここでのラベルです。メソッドが適切に結果を出した場合、これらはボタンである可能性があります。

アイデアはシンプルで、可能な限り最小の画面サイズ (iPhone 3.5 インチ) でセル xib を作成します。クラスで個別に xib インスタンスを作成し、そのインスタンスに情報 (時間、場所など) を提供し、systemLayoutSizeFittingSize:UILayoutFittingCompressedSize メソッドを実行してサイズを計算します。

0 投票する
2 に答える
3427 参照

ios - UITableView 動的セルの高さの競合 - 高さはラベルに依存しません

したがって、私のテーブルビューには画像が表示されます。すべてのセルは基本的に、セル全体を埋める画像contentViewです。画像の縦横比が異なるため、テーブル ビューの幅と画像の縦横比に応じてセルの高さを調整する必要があります。この Ray Wenderlich のチュートリアルに従いましたが、制約の競合が発生しました。imageView画像は、高さの制約を変更することによってサイズ変更されます。myImageViewHeight.constant = tableView.frame.width / aspectRatio

画像ビューには次の制約があり、contentViewスーパービューとしてセルがあります。

制約

テーブルビューコントローラークラスでは、私は使用しています

私もこれを試しました-同じ結果です。

を取り除く必要があると思います'UIView-Encapsulated-Layout-Height' V:[UITableViewCellContentView:0x7fbcdaf52230(100)]>"が、どうすればよいですか?また、セル内に多数のラベルを含めるだけでなく、動的コンテンツを含むテーブルビューを適切に作成する方法に関する何らかのドキュメント/チュートリアルを知っている人はいますか? 画像ビューがラベルに置き換えられた場合、 私のコードは問題なく動作します...

0 投票する
2 に答える
76 参照

ios - セル内の別のUITableViewに配置されたUITableViewの高さをchildViewControllerとして取得する方法

私は有線のような問題に苦しんでいます。私はUITableView1つのセルを持っています。このセルはchildViewController(second tableView) を持つ containerView のみを保持しています。私の問題は、最初の tableView(parent) にUITableViewAutomaticDimension行の高さが必要ですが、機能しないことです (2 番目のセルの正しいサイズがわからないtableView)。秒の正しいサイズを取得する方法tableView) ?

ここに画像の説明を入力

2 番目の tableView ( inside Cell) では scrollingEnabled がオフ ( tableView.scrollEnabled = false) になっています。正しいスクロール エクスペリエンスを提供するには、最初の tableView で 2 番目の tableView のサイズを正しくする必要があります。

0 投票する
2 に答える
131 参照

ios - 複雑な構造を持つテーブル ビューのセルの高さと UITableViewAutomaticDimension

大量のサブビューを含む複雑な構造の自動テーブル ビュー セル サイズを作成するにはどうすればよいですか?

テーブル ビュー セルの例を次に示します。テーブル ビュー セルの例

たとえば、テーブル ビュー セルの高さの合計は 220 ピクセルです。茶色の領域は 70 ピクセル、緑色の領域は 90 ピクセル、赤色の領域は 10 ピクセル、黒色の領域は 50 ピクセルです。青い領域は常にテーブルビュー セルと同じ高さになります。

autolayout と UITableViewAutomaticDimension を使用してテーブルビューのセルの高さを減らして、緑色の領域全体を削除/非表示にすることで 130px にするにはどうすればよいですか?

古いスタイルのアプローチなしで UITableViewAutomaticDimension と正しい制約を使用してそれを達成することは可能ですか?

注: 最小バージョンは iOS 8 です (ただし、iOS 9 以降のソリューションでも問題ありません。最小バージョンを増やします...)

0 投票する
1 に答える
761 参照

ios - 基本クラスが tableView:heightForRowAtIndexPath を実装している場合、UITableViewAutomaticDimension を使用するにはどうすればよいですか?

「heighForRowAtIndexPath」を実装する共通の基本クラスを持つ約 30 のビュー コントローラーがあります。最近、iOS 7 のサポートが削除され、AutoLayout を使用した気の利いた自動高さ計算が可能になりました。この自動高さで素晴らしいと思われる、かなり複雑なセルが表示されました。

ドキュメントには次のように記載されています。

デリゲートが tableView:heightForRowAtIndexPath: メソッドを実装していない場合は、セルの行の高さを設定できます。rowHeight のデフォルト値は UITableViewAutomaticDimension です。

したがって、私の基本クラスは heightFor を実装しているため、自動は有効にならないようです。

これを回避する方法はありますか?どういうわけか、その特定のメソッドを「実装解除」する必要があります。

0 投票する
1 に答える
8094 参照

swift - UITableViewAutomaticDimension がセルの高さのサイズ変更で機能しない

自動サイズ変更を有効にしない限り、セルは正常に表示されます。viewController に自動サイズ変更用の 2 行を追加すると、プロフィール写真、ユーザー名、および日付の下にあるすべてが消えます (写真をクリックすると、セルは Instagram のように見えるはずです)。

コメントアウトするtableView.rowHeight = UITableViewAutomaticDimension tableView.estimatedRowHeight = 450と、セルは想定どおりに表示されますが、明らかにサイズが変更されません。

これは私が現在持っているコードです:

私のcellViewControllerで

} }

ここに画像の説明を入力 ここに画像の説明を入力