ButtomSheet из Material Design не отображается должным образом - Swift
Я пытался интегрировать свое приложение с material-components
называется bottomSheet
, Когда я реализовал этот компонент, он показал мне правильно, но не так, как я ожидал.
Когда он появляется и все время прокручиваю вверх, нижний лист не прилипает к нижней части обзора.
Как исправить эту конкретную проблему?
Вот код
let viewController: UIViewController = UIViewController()
viewController.view.backgroundColor = .red
let bottomSheet: MDCBottomSheetController = MDCBottomSheetController(contentViewController: viewController)
self.present(bottomSheet, animated: true, completion: nil)
1 ответ
Решение
Почему бы не добавить некоторое содержимое этого конкретного viewController.
Создайте tableViewController
import Foundation
import UIKit
class TableViewContent: UITableViewController {
let cellId = "CellId"
override func viewDidLoad() {
super.viewDidLoad()
tableView.register(UITableViewCell.self, forCellReuseIdentifier: cellId)
}
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: cellId, for: indexPath)
cell.textLabel?.text = "Hello World"
return cell
}
}
После создания этого контроллера добавьте это в ваш код, который вы предоставили:
// let viewController: UIViewController = UIViewController()
//
// viewController.view.backgroundColor = .red
// let size = viewController.view.sizeThatFits(view.bounds.size)
// let viewFrame = CGRect(x: 0, y: 0, width: size.width, height: size.height)
// viewController.view.frame = viewFrame
let viewController = TableViewContent()
let bottomSheet: MDCBottomSheetController = MDCBottomSheetController(contentViewController: viewController)
self.present(bottomSheet, animated: true, completion: nil)
Надеюсь, что это поможет... Причина, по которой он не придерживается дна, потому что контроллер пуст, просто моя идея...