前提・実現したいこと
Swifterを使って自作のアプリにTwitterの自分のツイートを内容を省略せずに20件並べたい。
ここに質問の内容を詳しく書いてください。
Swifterを使って自分のツイートを並べるだけのアプリを作っています。
ツイートを並べる事はできたのですが、ツイートの内容が長いと途中までしか表示されません。
また、内容が短くても不要な余白が生じてしまいます。
最初はどのセルも2行で途中までしか表示されません。
また、セルの再利用の際のリセットがうまく行っていないのか、スクロールするとセルの高さがおかしくなります。
セルの再利用の際にセルの高さをリセットできれば上手く表示できそうなのですが、リセットの仕方が分かりません。
セルの高さのリセットの方法を教えていただけると助かります。
発生している問題・エラーメッセージ
エラーは出ていません。
該当のソースコード
Swift
1 2import UIKit 3import Swifter 4 5class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { 6 7 var tweet: [JSON] = [] 8 9 let swifter = Swifter(consumerKey: "xxxxxxxxxxxxxxxxxxxxxxxxx", consumerSecret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx") 10 11 @IBOutlet weak var TableView: UITableView! 12 13 override func viewDidLoad() { 14 super.viewDidLoad() 15 TableView.dataSource = self 16 TableView.delegate = self 17 } 18 19 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 20 return 20 21 } 22 23 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 24 let cell = TableView.dequeueReusableCell(withIdentifier: "TweetCell", for: indexPath) as! TweetCell 25 26 func getTweet () -> Void{ 27 28 swifter.getTimeline(for: .screenName("@xxxxxxxx"),success: { json in 29 30 cell.tweetLabel?.text = "(json[indexPath.row]["text"]),(json[indexPath.row]["text"]),(json[indexPath.row]["text"]),(json[indexPath.row]["text"])" 31 32 }, failure: { error in 33 // 失敗時の処理 34 print(error) 35 print("失敗") 36 }) 37 } 38 _ = getTweet() 39 40 return cell 41 } 42} 43
試したこと
ラベルに制約を付けたり、estimateRowHeightとautomaticDimentionを記述してみたりもしたのですが上手く行きませんでした。Twitterからのデータでなく、適当な配列を用意して試すとestimatedRowHeightとautomaticDimentionだけでも上手く行くのですが、Twitterからのデータを取得して並べようとすると上手く行きません。
「tableViewCell 高さ」とか「dequeueReusableCell リセット」とか検索して、見つかった限りのやり方は一通り試したのですがうまく行きませんでした。
TableViewControllerから作ってみたり、UIViewControllerにTableViewやTableViewCellを配置して作ってみたりしたのですが上手くいきませんでした。
また、TableViewCellにlabelを置く時にコードで書いて配置してみたり、ストーリーボードでドラッグ&ドロップで配置してみたりしたのですがうまく行きませんでした。
補足情報(FW/ツールのバージョンなど)
Xcode11.6
iPhoneSE,iOS13.6
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。