func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
var renderWidth:CGFloat = 8
var renderYPosition:CGFloat = 22
let cell = tableView.dequeueReusableCellWithIdentifier("idcell", forIndexPath: indexPath) as! UITableViewCell
let date = UILabel(frame: CGRectMake(renderWidth, renderYPosition, 110, 20))
let dateText = "asdasdasdsad"
date.text = dateText
if(cell.selected){
date.textColor = UIColor.whiteColor()
}
cell.addSubview(date)
renderWidth = renderWidth + 110
}
表示する行の種類が3つ(ラジオボタン、テキストラベル、テキストビューなど)の場合、これらの行を表示するインデックスパスは完全に動的です。したがって、cellForRowAtIndexPathにいくつかの行を追加して表示する必要があるかどうかを判断します。そして私はそれを行うにはaddsubviewを使用します。しかし、私は、いくつかのポストは、cellForRowAtIndexPathにサブビューを追加すべきではないと言いました。私はそれを得ることができません。それに代わるものは何ですか?それを行う正しい方法は何ですか?UITableViewControllerを使用する正しい方法
独自のIDを持つ3つのプロトタイプセルを作成し、必要なものをデキューします。 – vacawama
しかし、なぜ私はこの機能でサブビューを追加することですべきではありませんか? – henry
セルが再利用されるので、サブビューを追加する場合は、セルが別のタイプである場合にセルが再利用されたときにそれらのサブビューを削除する必要があります。 3つのセルを必要に応じて設定するのは簡単です。 – vacawama