質問: "あいうえおかきくけこさしすせそなにぬねのはひふへほあいうえおかきくけこさしすせそなにぬねのはひふへほ" return cell! } ``` よろしくお願いします。
回答: Quite - UITableViewCellの高さを動的に変更する(初心者向け) こちらの記事を参考にして、こういうプログラムを作ってみました。 考え方は、NSString Class (UIKit Additions) の`boundingRectWithSize()`メソッドを使って、テキストを表示するのに必要な矩型サイズを求め、それから行の高さを計算するというものです。`detailTextLabel`の高さを求め、それに`textLabel`の高さと、マージンを加えて、行の高さとしています。 *UITableViewDelegate* ``` func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { let text: NSString = myDetailText as NSString // myDetailTextは、detailTextLabelに入力するテキスト。NSStringにキャストする。 let labelWidth = tableView.bounds.size.width - 30.0 // 30.0は適当。正しくdetailTextLabelの幅を計算してください。 let maxSize = CGSize(width: labelWidth, height: CGFloat.max) let attribute = [NSFontAttributeName: UIFont.systemFontOfSize(11.0)] // デフォルトのdetailTextLabelのフォントとそのサイズ。これも適切な値にしてください。 let size = text.boundingRectWithSize(maxSize, options: NSStringDrawingOptions.UsesLineFragmentOrigin, attributes: attribute, context: nil).size return size.height + 28.0 // この28.0も適当な数字。 } ``` *正直言わせてもらうと、`UITableViewCell`のサブクラスを作って、`UILabel`を`addSubview()`して、Constraintをかけて、ってやる方が、楽だと思いました。*