18240


TableView の CellStyle について質問があります。  
現在、xib 上に配置した View の上に配置した TableView を、UITableViewCellStyle.Value1
のスタイルで実現したいと考えておりますが、Value1が描画されず、Defaultのスタイルになってしまいます。

UITableViewCellStyle.Subtitle や UITableViewCellStyle.Value2 は正しくCellStyle
が適用されるのですが、  
何故か Value1 が適用されません。

下記のようなコードを記述しておりますが、不備はありますでしょうか。  
提示コードに不足がありましたら、追加します。

[code]

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    
        var cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: "Cell")
        cell.textLabel?.text = "テスト"
        cell.detailTextLabel?.text = "詳細"
    
        return cell
    }
    
[/code]


CC BY-SA 3.0
2015-10-29T12:59:20.863
18208
2015-10-30T06:57:38.840
6103
question
ios swift
UITableViewCellStyle.Value1 が適用されない


`detailTextLabel`の表示位置が、画面からはみ出しているのではありませんか？つまり、テーブルのサイズが、画面より横方向に大きすぎるのではありませんか？

質問とは離れますが……

[Table View Programming
Guide](https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/TableView_iPhone/AboutTableViewsiPhone/AboutTableViewsiPhone.html#//apple_ref/doc/uid/TP40007451)

Appleのガイドに従って、以下説明します。

`func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath:
NSIndexPath) -> UITableViewCell`の実装は、次のように改善してください。

[code]

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let identifier = "Cell" // セルのIDを定数identifierにする。
        var cell: UITableViewCell? // nilになることがあるので、Optionalで宣言
        // セルを再利用する。
        cell = tableView.dequeueReusableCellWithIdentifier(identifier)
        if cell == nil { // 再利用するセルがなかったら（不足していたら）
            // セルを新規に作成する。
            cell = UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: identifier)
        }
        cell?.textLabel?.text = "テスト"
        cell?.detailTextLabel?.text = "詳細"
    
        return cell!
    }
    
[/code]

テーブルに表示される行の数が10行だとします。セルを再利用することを考えれば、セルの数は10+α個ですみます。テーブルの総行数を用意する必要はありません。そういう処理をしています。


CC BY-SA 3.0
2015-10-30T06:57:38.840
18240
2015-10-30T06:57:38.840
7362
18208
answer