Динамическое табличное представление (например, не прокручиваемый список в Android) - PullRequest
0 голосов
/ 11 мая 2018

Я абсолютно новичок в ios, но я могу создать TableView с фиксированными ограничениями в раскадровке с динамической ячейкой TableView. Теперь мне нужно создать много представлений, таких как один ImageView, один Button, много Labels и два TableViews в одном ViewController. Эти TableViews являются динамическими, которые могут получать значения из API, даже значения TableView могут приходить, иногда могут не приходить, так что мне следует пропустить представление, если значения TableView пусты.

  1. Я думаю, что хочу контролировать высоту TableView в соответствии со значениями API.
  2. если бы я использовал Tableview.alpha = 0, чтобы скрыть представление, оно просто скрывается, но я хочу оставить это представление.

Я ссылался на эту ссылку iOS: динамически установить высоту UITableView в Swift

Но я понятия не имею, как использовать этот код. Пожалуйста, помогите мне. Этот вопрос - моя последняя надежда. ТИА.

1 Ответ

0 голосов
/ 11 мая 2018

Следующий код динамически устанавливает высоту, используя ограничение. Этот код должен работать.

viewController.Swift

  class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

@IBOutlet var tableView: UITableView!
@IBOutlet var tableviewHeightConstraint: NSLayoutConstraint! //This constraint is your tableview height constraint

var arrayItems = ["iOS", "Swift", "Apple", "Program", "output", "code","viewController","tableview"]

override func viewDidLoad() {
    super.viewDidLoad()
    self.tableView.dataSource = self
    self.tableView.delegate = self

    self.tableView.register(UINib(nibName: "heightTableViewCell", bundle: nil), forCellReuseIdentifier: "heightTableCell")
     self.tableView.reloadData()
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return self.arrayItems.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = self.tableView.dequeueReusableCell(withIdentifier: "heightTableCell") as! heightTableViewCell
    cell.label.text = self.arrayItems[indexPath.row]
    // Your Tableview Height (Dynamically Change the height) 
    self.tableviewHeightConstraint.constant = self.tableView.contentSize.height
    return cell
  }
}

heightTableViewCell.swift

 class heightTableViewCell: UITableViewCell {
 @IBOutlet var label: UILabel!

override func awakeFromNib() {
    super.awakeFromNib()
    // Initialization code
}

override func setSelected(_ selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)

    // Configure the view for the selected state
 }

}

Примечание: scrollView должен отменить выбор опции прокрутки в Инспекторе атрибутов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...