-2
私はこのようなビューを作成していくつかの長いテキストを表示したいと思います。これのためにいくつかのポッドを持っているが、私はこれをプログラム的にしたい。タップに関する見解は、それについての説明のためのビューを持っています
ありがとうございます。
最初の画像 - >タップする前の画像。
2番目の画像 - >タップ後の表示。
私はこのようなビューを作成していくつかの長いテキストを表示したいと思います。これのためにいくつかのポッドを持っているが、私はこれをプログラム的にしたい。タップに関する見解は、それについての説明のためのビューを持っています
ありがとうございます。
最初の画像 - >タップする前の画像。
2番目の画像 - >タップ後の表示。
クイック実用的なソリューションを必要とする場合、あなたはこれを試すことができます。
2つのラベルでTableViewCellを作成します、タイトルラベルの高さを保つデフォルトでは、配列内の各セルの高さを維持する固定高さタイトルラベル(の48をしましょう)と説明ラベル(複数行)
デリゲートメソッド「heightForRowAt内部の高さを切り替える
if self.itemHeights[indexPath.row] == UITableViewAutomaticDimension {
self.itemHeights[indexPath.row] = 48
} else {
self.itemHeights[indexPath.row] = UITableViewAutomaticDimension
}
self.tableView.reloadRows(at: [indexPath], with: .automatic)
、:あなたは、セルを選択した場合だけでデリゲートメソッドの内部で、(たとえばitemHeights = [48,48,48]
"didSelectRowAtを" タイトルラベルを表示します: "、更新された値を返します高さ
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return self.itemHeights[indexPath.row]
}
注:これはあなたに、ほぼ同じ結果を与えますが、いくつかのぎくしゃくしたアニメーションで回避策です。
あなたは何かを試しましたか?どんな研究ですか?あなたの写真から、それは 'UITableViewCell'を拡張することです。あなたは 'UITableView'と' UITableViewCell'について読むべきです。実際に達成するのはとても簡単です。 –
このようなサードパーティのライブラリを試すこともできます:https://github.com/jeantimex/ios-swift-collapsible-table-section –
あなたがすでに試したことを示してください。 – PGDev