完全なカスタムセルを定義するためにUITableViewCellをサブクラス化するとき、どのスタイルを設定するのですか? UITableViewCellStyleDefault?実際にはラベルやimageViewのどちらも必要ありませんが、それらは同じに割り当てられますか?
UITableViewCellの事前定義されたUILabelまたはUIImageViewサブビューのいずれも使用していないので、実際には関係ありません。私はちょうどUITableViewCellStyleDefault
を使用します。 UILabelsまたはUIImageViewが割り当てられているかどうかはわかりません。しかし、UITableViewCell ではなく、にサブビューを作成するよう明示的に指示する方法がないので、私はそれについて心配しません。それらが作成されていても、それらを使用していないので、セルの描画は遅くなることはなく、テーブルをスクロールするときにセルが再利用されるため、一度に数個の余分なオブジェクトを割り当てるだけでは、パフォーマンス。
私のカスタムビューをUITableViewCellサブクラスに貼り付けるときは、selfまたはself.contentViewに追加する方が良いでしょうか?
すべてのコンテンツは、UITableViewCell contentView
に入れる必要があります。これにより、UITableViewが右の索引を持っている場合や、UITableView(またはUITableViewCell)が編集モードになった場合にコンテンツが正しく動作するようになります。
そして、UITableViewCellサブクラス(backgroundのような)でdrawRectでいくつかのクォーツの描画をしてもよろしいですか?
背景は、UITableViewCell backgroundView
プロパティに配置することをお勧めします。だから私はUITableViewCellサブクラス自体で任意の図面を行うことをお勧めしません。 contentView
、backgroundView
、およびselectedBackgroundView
のプロパティを使用してください。単純なUIViewサブクラスを作成し、必要に応じてそれをUITableViewCellのbackgroundView
として設定することができます。
+1良い答えです。 FYIデフォルトラベルは、/が設定されている場合にのみ割り当てられます。 – Rog
ありがとう、backgroundViewの理由は、良い練習、またはUITableViewCellサブクラスのdrawRectの実装がパフォーマンスに悪いためです。 –