回答編集履歴
1
#2
    
        answer	
    CHANGED
    
    | 
         @@ -1,2 +1,37 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # #1
         
     | 
| 
       1 
2 
     | 
    
         
             
            heightChangerの中身をそのままheightForRowAtIndexPathに書いてみて下さい。(heightChangerは削除)
         
     | 
| 
       2 
     | 
    
         
            -
            やりたいことと違う場合は、どのように違うか教えて下さい。
         
     | 
| 
      
 3 
     | 
    
         
            +
            やりたいことと違う場合は、どのように違うか教えて下さい。
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
            # #2
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            特定のセル(2-3)だけ高さを変更するサンプル。
         
     | 
| 
      
 8 
     | 
    
         
            +
            高さを変更した後にリロードしないと、すぐに(見た目に)反映されません。
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            ```swift
         
     | 
| 
      
 11 
     | 
    
         
            +
            class ViewController: UIViewController {
         
     | 
| 
      
 12 
     | 
    
         
            +
                
         
     | 
| 
      
 13 
     | 
    
         
            +
                @IBOutlet var table: UITableView! //TableViewのOutlet(heightChangerの中で使用)
         
     | 
| 
      
 14 
     | 
    
         
            +
                var height: CGFloat = 30.0 //高さを保存しておく変数
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                :
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat
         
     | 
| 
      
 19 
     | 
    
         
            +
                {
         
     | 
| 
      
 20 
     | 
    
         
            +
                    if indexPath.section == 2 && indexPath.row >= 3 {
         
     | 
| 
      
 21 
     | 
    
         
            +
                        //2-3のときだけ保存してある高さを返す
         
     | 
| 
      
 22 
     | 
    
         
            +
                        return height
         
     | 
| 
      
 23 
     | 
    
         
            +
                    } else {
         
     | 
| 
      
 24 
     | 
    
         
            +
                        return 30
         
     | 
| 
      
 25 
     | 
    
         
            +
                    }
         
     | 
| 
      
 26 
     | 
    
         
            +
                }
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                func heightChanger() {
         
     | 
| 
      
 29 
     | 
    
         
            +
                    //高さを変えて
         
     | 
| 
      
 30 
     | 
    
         
            +
                    height += 10.0
         
     | 
| 
      
 31 
     | 
    
         
            +
                    //2-3だけリロード(再表示)する
         
     | 
| 
      
 32 
     | 
    
         
            +
                    table.reloadRowsAtIndexPaths([NSIndexPath(forRow: 2, inSection: 3)], withRowAnimation: .Automatic)
         
     | 
| 
      
 33 
     | 
    
         
            +
                    //これだとテーブル全体をリロードする
         
     | 
| 
      
 34 
     | 
    
         
            +
                    //table.reloadData()
         
     | 
| 
      
 35 
     | 
    
         
            +
                }
         
     | 
| 
      
 36 
     | 
    
         
            +
            }
         
     | 
| 
      
 37 
     | 
    
         
            +
            ```
         
     |