2017-01-07 16 views
0

セル上をクリックしてUITableViewの最初のUITableViewCellの高さを変更しようとしていますが、クリック時の高さを変更することができましたが、セルの上端から下端までの高さ、底から特定の点まで上に向かって高さを低くしたい。これは現在使用しているコードです。セルに基づくUITableViewCellの高さ

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { 
    if indexPath.row == 0 { 
     return checkHeightBasedOnVisibility() 
    }else if indexPath.row == 1 { 
     return 300 
    }else { 
     return 200 
    } 
} 

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    if indexPath.row == 0 { 



     if isVisible { 
      isVisible = false 
      tableView.reloadData() 
     } 
     else { 
      isVisible = true 
      tableView.reloadData() 
     } 
    } 
} 



// MARK: Private Methods 
func checkHeightBasedOnVisibility() -> CGFloat { 
    if isVisible { 
     return 239 
    } 
    else { 
     return 44 
    } 
} 
+0

カスタムUITableViewCellを使用していますか?その場合、どのような制約を設定しましたか? –

+0

GIFをアップロードしましたか? –

+0

@MikeTaverneありがとう、問題は制約から来て、私はそれを解決することができました – SimpiMind

答えて

0

は、このようなあなたのfunc tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)機能を見てください:問題は、私が設定した制約からである

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    if indexPath.row == 0 { 
     isVisible = !isVisible 
     tableView.beginUpdates() 
     tableView.endUpdates() 
    } 
} 
+0

ありがとう、これは私が欲しいものではなく、それは私のコードを簡素化するのを助けた – SimpiMind

0

を、私の代わりに、それ以下のビューで、別のビューにテーブルの下に制約mistakingly。

関連する問題