ブルーのメニューバーのすぐ下に、
UITableViewControllerを挿入しています。
Twitterライクのマイページを作りたいです。
ストーリーボードは未使用です。
画像ではSample Itemというセルが4つ表示されていますが、
例えば、このセルの表示をグッと下に大きく広げたいです。
下記のコードではreturn 30 = セルを30個作っていて、
この画像のスクロールバーの位置で、
30個の内20個位のセルが一目で見れる様に下にグッと広げて、
そして残り10個のセルを見るために下にスクロールできる、という感じにしたいです。
画像の真ん中から下のスペースが埋まるイメージです。
原因を調べていまして、このマイページを構成する別のクラス自体が上下にスクロールできないから、
このUITableViewController自体の表示が小さいのかと試行錯誤しましたが、
原因がそこでは無かった様です。
また、セルの設定をいくら調整しても、
20個位のセルを一目でツイッターの様に見える様に作成できませんでした。
本物のツイッターでは2、3個のセルが常に表示される様に出来ていて、
下にスクロールしてどんどんツイートを見れるUIですが、その様に作りたいです。
下記のUITableViewControllerクラスで、
ツイッターの様に作り変えることができるのでしょうか?
教えていただければ幸いです。
//UITableViewControllerクラス import UIKit class MyTableViewController: UITableViewController { override func viewDidLoad() { super.viewDidLoad() tableView.register(MyCell.self, forCellReuseIdentifier: "cellId") } override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 30 } override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { return tableView.dequeueReusableCell(withIdentifier: "cellId", for: indexPath) } } class MyCell: UITableViewCell { override init(style: UITableViewCellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier) setupViews() } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } let nameLabel: UILabel = { let label = UILabel() label.text = "Sample Item" label.translatesAutoresizingMaskIntoConstraints = false label.font = UIFont.systemFont(ofSize: 10) return label }() func setupViews() { addSubview(nameLabel) addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|-16-[v0]|", options: NSLayoutFormatOptions(), metrics: nil, views: ["v0": nameLabel])) addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|[v0]|", options: NSLayoutFormatOptions(), metrics: nil, views: ["v0": nameLabel])) } }
回答1件
あなたの回答
tips
プレビュー