Open Erumaru opened 4 years ago
showSkeleton should be called on your collection/tableView instead of your view :)
Me too.
@paulanatoleclaudot-betclic thanks for your response, but I call it on collection view.
Me too. It doesn't calculate how many cells need to populate the whole table view.
Boys, I resolved it. I used vc addsubview tableView.
First, you must set vc self.view.isSkeletonable = true
Second, for tableView must use estimatedRowHeight.
tableView.estimatedRowHeight = 130
tableView.rowHeight = UITableView.automaticDimension
Same problem here with 1.8.6 and 1.8.7. Fixed by reverting to version 1.8.5. I am on Xcode 11.3.1 and Swift 5.1
Got the same issue. But instead of composing my own custom TableViewController (UIViewController
+ UITableView
), I instead opted to subclassing UITableViewController
. So somehow, you need to explicitly set this controller as the dataSource
of the tableView
to make SV work.
class CustomTableViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
...
tableView.dataSource = self
}
...
}
extension CustomTableViewController: SkeletonTableViewDataSource {
...
}
Without this, when you set a breakpoint at line 35 of the file UITableView+CollectionSkeleton
, guard
always fails because it detects that your dataSource
is of type _UIFilteredDataSource
and not SkeletonTableViewDataSource
.
Here's my spec: SkeletonView: 1.8.7 | Swift: 5 | Xcode: 11.2.1
Boys, I resolved it. I used vc addsubview tableView.
First, you must set vc
self.view.isSkeletonable = true
Second, for tableView must use estimatedRowHeight.tableView.estimatedRowHeight = 130 tableView.rowHeight = UITableView.automaticDimension
Yep. When you find all the cells are not displaying with showSkeleton()
, please set the estimatedRowHeight
. Otherwise, they won't show it!!! I think it's better to put this into README. @Juanpe Maybe a Q&A part.
⚠️ Please fill out this template when filing an issue.
🙏🏼 Please check if it already exists other issue related with yours.
What did you do?
Created
UITableView
withisSkeletonable
set totrue
. All cells and its subview alsoisSkeletonable
set totrue
. Implemented SkeletonTableViewDataSource and numberOfRowsInSection inMyViewController
class. SetUITableView
's dataSource toMyViewController
. CalledshowSkeleton()
.What did you expect to happen?
I expected
UITableView
to useWhat happened instead?
It always uses
Steps to reproduce the behavior
Steps mentioned in what did you do
SkeletonView Environment
SkeletonView version: 1.8.6 Xcode version: 11.3.1 Swift version: 5.0