さて、ここに写真があります:
UILabel を使用したカスタム UITableViewCell があります。
-setEditing メソッドでカスタム UILabel のサイズを変更する必要があることは明らかですが、サイズを変更する量を正確に計算するにはどうすればよいですか? 再利用されたセルのサイズを変更する効率的な方法はありますか?
ありがとう!
さて、ここに写真があります:
UILabel を使用したカスタム UITableViewCell があります。
-setEditing メソッドでカスタム UILabel のサイズを変更する必要があることは明らかですが、サイズを変更する量を正確に計算するにはどうすればよいですか? 再利用されたセルのサイズを変更する効率的な方法はありますか?
ありがとう!
setEditing
適切な自動サイズ変更マスクがあれば、メソッドで何もする必要はありません。
label.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleRightMargin;
最初の質問は、ラベルを にどのように追加するのUITableViewCell
かということです。それをセルの に追加している場合view
、そこから問題が始まります。
UITableViewCell
プロパティがありcontentView
ます。これcontentView
は、セルが編集モードに入ったときにコンテンツのサイズを変更する責任があります。これを行う方法を知っています。セルのview
プロパティはそうではありません。UILabel
したがって、最初に、セルのcontentView
inのサブビューとしてyour を追加する必要がありますinitWithStyle:
。ただし、セルは実際にはセルの大きさを認識していないinitWithStyle:
ため、ラベルのフレームを で設定できますlayoutSubviews
。
セルのサイズ変更に関しては、これを行うことができますtableView:heightForRowAtIndexPath:
この方法でindexPath
は、行の を確認し、高さを適切に構成できます。