問題タブ [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.
ios - heightForRowAtIndexPath: 文字列に改行が含まれている場合の計算が正しくありません\n
grouped に挿入する次の文字列がありますUITableViewCell
。
\n が含まれていることに注意してください。文字列に改行が含まれている場合、heightForRowAtIndexPath:
メソッドで間違った高さが返されます。
改行を含まないその他の文字列は正常に機能します。高さを計算するときに改行を考慮せず、高さが短すぎる理由はありますか?
ありがとう
ios - テーブル ビュー、静的セル、セルの高さの変更
動的TableViewを使用すると、次を使用してセルの高さを設定できることを理解しています... tableView:heightForRowAtIndexPath:
ただし、静的テーブル ビュー (動的ではない) を使用している場合、セクションを使用して、セルの高さをプログラムで 0 に設定したいと考えています。
}
質問は別の方法で、indexPath.section がある場合... どうすれば... indexPath.Section.row のようなことを行うことができますか?
uitableview - デフォルトの高さを返すUITableViewの初期ロード。heightForRowAtIndexPathが実装されています
このプロジェクトでは、Webサービスからのデータをテーブルに入力しています。より多くのデータが利用可能になると、テーブルがリロードされます。heightForRowAtIndexPath
タイトル文字列のサイズに応じてセルのサイズを設定するために使用しています。54のMAXまたは文字列の高さを返します。奇妙なことに、テーブルがロードシーケンスを初めて実行すると、セルごとに44が返されます。セルの高さをに記録しますcellForRowAtIndexPath
。2回目にリロードが呼び出されると、正しいセルの高さが得られます。その結果、セルのサブビューは最初は適切ではなく、その後非常に突然配置されます。誰かがそれについて何か洞察を持っているかどうか疑問にUITableView
思うことは私を正しい方向に向けるかもしれません。ありがとう!
ios - UITableViewCell フレームの高さは常に 44px です
100 を返す heightForRowAtIndexPath: メソッドを使用してセルの高さを設定しています。しかし、cellForRowAtIndexPath メソッドでは、セルのフレームの高さは常に 44px です。
以下は私のコードです。
NSLog ステートメントは「44px 44px」を出力します。
このステートメントを使用して正しい高さを取得できます
ios - uitextview で UITableViewCell の高さを取得する
同様の質問がたくさん見つかりましたが、答えはありませんでした。
iOS連絡先アプリケーションのノートセルのように、同じセルを実行しようとしています。左側にラベル、右側に uitextview があります。適切なセルの高さを設定できない場合、1 つだけ問題があります。デリゲートが最初にセルの高さについて尋ねたとき、私はこのメソッドを呼び出します:
しかし、すべてのデバイスとすべての向きで適切な高さを取得できません。助けてください。
ios - カスタム セルとラベルを使用した heightForRowAtIndexPath
カスタムUITableViewCell
を作成していて、入力の長さに応じて可変の高さが必要な場合 (たとえば、Twitter リーダーなど)、どうすればこれを機能させることができますか?
ここで、標準の非カスタムセルに設定できる他の多くの例を見つけましたが、セルのメインテキストラベルは小さいなどなので、セルでこれらのメソッドのいずれかを使用しようとすると、さまざまな奇妙な結果が得られる (テキストがセルの下部に重なるなど)
セルを設計する標準化された方法はありますか (たとえば、Interface Builder でどのくらいの高さにする必要がありますか?)、ラベルがそのセルの幅の半分であるとしましょう.セルの高さを計算するにはどうすればよいですか?そのラベルに読み込まれた文字列を表示する必要がありますか? ここで私が見つけた方法は、通常のセルではうまく機能しますが、奇妙な高さ、テキストの重なりなどでカスタムのものを台無しにします:こちらもよろしくお願いします!)
ios - 自動レイアウトを使用したカスタム UITableViewCell のサブビュー - xib なし、すべてコード内
自動レイアウト機能を使用してコードに追加されたカスタム UITableViewCell のサブビュー (検証済み)。ただし、これを行うことの全体的なポイントは、各テーブルビュー セルの高さを計算する必要がなく、デリゲート メソッド heightForRowAtIndexPath がテーブルビューの描画中に高さを期待することでした。
自動レイアウトを使用してコンテンツに基づいてこの高さを把握するにはどうすればよいですか?
また、私は実際にはバックグラウンド スレッドでこれを行うことはできません (またはできますか?) ため、たとえば 1000 レコードのリストに裏打ちされたこれを使用する UITableView がある場合、これには永遠に時間がかかります。そうですか?
ios - heightForRowAtIndexPathの後に、cellForRowAtIndexPathでセルの高さを設定しようとしています
heightForRowAtIndexPath
以前に呼び出されたのでcellForRowAtIndexPath
、内部から高さを変更したい場合は、変更cellForRowAtIndexPath
できると思いました。できないようです。を介してテストしましたが、NSLog
変更するcell.frame.size.height
と、変更はそこに適切に保存されますが、セル自体は新しいサイズになりません(設定したサイズを使用していheightForRowAtIndexPath
ます)。
後のある時点で呼び出されるセルの高さを調整する別の方法はありcellForRowAtIndexPath
ますか?そうでない場合、これを回避する別の方法はありますか?cellForRowAtIndexPath
各セルに順番に画像をランダムに追加するかどうかをその場で決定しているので、使用する必要があります。
ios - cellForRowAtIndexPath は、セルがロードされてから再ロードされたときにセルを異なる高さと見なしますか?
序文: これはかなり抽象的な質問です。
セルの高さに応じて異なる画像を使用するセルがいくつかありUITableView
ます (50px から 1000px までの高さで 50px 単位で)。cellForRowAtIndexPath
アプリが最初にロードされたときに、最初の 3 つのセル (3 つすべてが画面上にあるかどうかに関係なく) の高さが 100px であると報告され、下にスクロールして再び上に戻ると、それらの高さが元に戻るという奇妙な問題が発生しています。正しい値に。画面上の高さの変更はなく、使用される画像のみが変更さcell.frame.size.height
れ、NSLog
ステートメントの値が変更されます。
私は と にログインしてheightForRowAtIndexPath
おりcellForRowAtIndexPath
、彼らが を離れたときに高さが正しいことを確認できますheightForRowAtIndexPath
。しかし、 を入力するcellForRowAtIndexPath
と、最初の 3 つの高さがすべて均一に 100 に設定されます。次に、これらの 3 つのセルが画面外になるまで下にスクロールし、次に上にスクロールすると、.height
値が正しい値に変更されます。
要約すると、私の質問は次のとおりです。
これらの最初のいくつかのセルの値を変更する可能性のあるコードの最後heightForRowAtIndexPath
と最初の間に呼び出されるコードはありますか?cellForRowAtIndexPath
cell.frame.size.height
この問題が最初の 3 つのセルでのみ発生するのはなぜですか? そして、しばらくしてリロードすると元に戻るのはなぜですか? 再利用識別子が原因である可能性があると思いましたが、最初にロードされたときにまだその識別子が割り当てられているので、それは問題ではありませんか?
編集: 100px の高さは、ストーリーボードのプロトタイプ セルの行の高さから来ていると思います。それを 101px に変更すると、最初の 3 つのセルは最初は 101px になります。
編集:画像を設定するために使用しているコードは次のとおりです。この部分は機能していますが、操作する値が間違っています:
objective-c - 目的 c - 実行時にセルの高さを拡張する
カスタム セルがあり、そのラベルの 1 つを大きくして、[もっと見る] ボタンを追加するのに十分な大きさにすることができます。そのため、ラベルのコンテンツを 5 行に切り取り、必要に応じてコンテンツを展開するこのボタンを追加しています。
私の質問は: tableView の reloadData を使用せずにこれを行うことはできますか?
「もっと見る」ボタン(カスタムセル内)のタッチイベントでこのコードを試しました:
何も起こりません!セル行の高さ、つまりテーブル ビューのコンテンツの高さを拡張する方法が必要だと思います。
前もって感謝します、
エディション:リンクios でソリューションを確認しました - Twitter アプリのようにテーブル ビュー セルを展開します。このコードをカスタム セル (タッチ イベント) に適用しました。
現在、2 つの問題があります。1) reloadRowsAtIndexPaths が reloadData 全体を実行しています。2)カスタムセルは、セルの高さを知っている人です。このメソッドにアクセスすると、self.contentExpanded は常に NO になります。
***parentTableView メソッドは、セルの親 tableView への参照から取得されました
エディション 2: 問題が heightForRow にあるとは思わない。このメソッドがすべてのセルに対して呼び出されることは避けられません...
そしてカスタムセルで: