問題タブ [heightforrowatindexpath]

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 投票する
1 に答える
344 参照

ios - iOS - tableviewcell を動的にサイズ変更する際の問題

この質問にはすでに多くの潜在的な回答があることを知っていますが、これまでに見たすべての回答の 99.995% で sizeWithFont が使用されていますが、これは現在廃止されています。

ここで扱っているテーブルビューセルが 1 つあるので、単純なはずですが、うまくいきません。オンラインでいくつかの回答を読んでまとめたコードを次に示します。これはセルラベル用です。

ストーリーボードで定義された高さは 44 に設定され、ラベル自体の行は 0 に設定されているため、ラベルが必要な大きさを決定できます。

問題 #1: ラベルに設定されたテキストがワードラップされていない場合でも、(明らかに) 私が望むものではない余分なパディングが得られます。実際にワードラップがあったかどうかを計算する方法がわかりません。ワード ラップがない場合 (つまり、テキストがラベルより長くない場合は、44 を返したいだけです)。

問題 #2: 何らかの理由で、例として 5 行のようにテキストが長すぎる場合、MAXHEIGHT が 10,000 であるにもかかわらず、文字列の最後のテキストの一部が何らかの理由で途切れてしまいます。ワードラップを停止することにしました。この時点でパディングを増やすと、たとえば 88 にすると、すべてを見ることができます。(変)。

いくつかのエレガントなソリューション、フィードバック、ヘルプなどを探しています。ありがとう!

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

ios - self.tablview.rowHeight が Storyboard から高さを返さないのはなぜですか?

プログラムで 1 つの行だけの高さを設定する必要があります。他のすべての行は、高さが異なるストーリーボードで作成された静的セルです。

私のコードでは、5 番目のセルはデフォルトで「非表示」にする必要があるため、この行の高さを 0.0 に設定したいと考えています。他のすべてのセルはストーリーボードからの高さを使用する必要があります。メソッドを使用しtableView:heightForRowAtIndexPathてセルの高さを設定しています。

問題は、self.tableView.rowHeight常に658高さとして返されることです。これはまったく間違った値です。

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

ios - Storyboard からカスタム UITableViewCell を読み込みます

現在、カスタムのサイズを動的に変更するために、ストーリーボードで自動レイアウトを使用していますUITableViewCell。スクロール時にメモリリークが発生することを除いて、すべてが正常に機能しています。

私は問題が呼び出しからであることを知っています

中から

私の質問はこれです、参照セルを作成する最良の方法は何ですか? なしでストーリーボードからセルをロードする方法はdequeueReusableCellWithIdentifier?

また、プロパティとして参照セルを呼び出しdequeueReusableCellWithIdentifierて作成してもよろしいですか?viewDidLoad

サイジングのために参照セルが必要です。

助けてくれてありがとう。

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

ios - iOS - ブロック実行後の heightForRowAtIndexPath からの戻り値

私は iOS 開発の初心者です。私のアプリケーションでは、動的テーブル セルの高さをheightForRowAtIndexPathメソッドで計算する必要があります。

問題は、「コールバック」ブロックが終了する前に値を返したくないということです..これを行う方法はobjective-cにありますか?

それが私のメソッドの実装です:

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

ios - UITableViewDelegate tableView:heightForRowAtIndexPath: セルを挿入するとクラッシュする

さまざまなセクションとセル スタイル、つまり iOS 設定アプリを含むテーブル ビューがあります。

heightForRowAtIndexPath に問題があります。それを含めると、セルを挿入しようとするたびにアプリがクラッシュしました。

ただし、テーブル ビューにはさまざまなセルがあるため、メソッドを実装する必要があります。たとえば、ほとんどのセルの高さは 44 ピクセルですが、常に表示されるとは限らず、高さが 216 ピクセルの日付ピッカー セルがあります。自動レイアウトを使用すると、セルの高さは問題ありませんが、セルを挿入するアニメーションがビクビクします。

以前はこの問題はありませんでしたが、テーブル ビューのセクションの 1 つを 2 つの異なるセクションに分割することにしました。セルを挿入しようとすると、アプリがクラッシュします。これは以前は発生していませんでした。heightForRowAtIndexPath または EstimatedHeightForRowAtIndexPath が実装されている場合にのみ発生します。

この UITableView insertRowsAtIndexPaths が __NSArrayM insertObject:atIndex:'object cannot be nil' エラーをスローしていることがわかりまし たが、代替手段はありません。単に、必要な heightForRowAtIndexPath を実装しないでください。これを解決する方法はありますか?

編集 heightForRowAtIndexPath の実装を追加 - 複雑なことは何もありません (セクションと行の列挙型がいくつかあります。datePickerIndex は日付ピッカーの行であるか、存在しない場合はゼロです)。