问题描述
是否可以制作水平和垂直滚动的视频源?预加载视频? 例如 3*3 视频 URL 响应可能预加载?
extension HomeScreen: UITableViewDataSource,UITableViewDelegate,UITableViewDataSourcePrefetching {
func tableView(_ tableView: UITableView,numberOfRowsInSection section: Int) -> Int {
5
}
func tableView(_ tableView: UITableView,prefetchRowsAt indexPaths: [IndexPath]) {
print(indexPaths)
}
func tableView(_ tableView: UITableView,cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "StoryCell") as? StoryTableViewCell
cell?.remixDelegate = self
cell?.reloadAllData(index: indexPath.row)
return cell!
}
func tableView(_ tableView: UITableView,willdisplay cell: UITableViewCell,forRowAt indexPath: IndexPath) {
print("TableView Will display",indexPath.row)
guard cell is StoryTableViewCell else { return }
}
func tableView(_ tableView: UITableView,didEnddisplaying cell: UITableViewCell,forRowAt indexPath: IndexPath) {
guard let tableViewCell = cell as? StoryTableViewCell else { return }
tableViewCell.pauseAllCell()
}
func tableView(_ tableView: UITableView,heightForRowAt indexPath: IndexPath) -> CGFloat {
return storyTableView.frame.height
}
}
// MARK: - UICollection View Delegates
extension StoryTableViewCell: UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDataSourcePrefetching,UICollectionViewDelegateFlowLayout {
func collectionView(_ collectionView: UICollectionView,numberOfItemsInSection section: Int) -> Int {
return urlArray.count
}
func collectionView(_ collectionView: UICollectionView,cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
print("CellForRowAt",indexPath.row)
let cell: RemixCollectionViewCell = (collectionView.dequeueReusableCell(withReuseIdentifier: "RemixCell",for: indexPath) as? RemixCollectionViewCell)!
cell.configure(url: urlArray[indexPath.row])
cell.remixButton.tag = indexPath.row
cell.remixButton.addTarget(self,action:#selector(onRemix(sender:)),for: .touchUpInside)
return cell
}
func collectionView(_ collectionView: UICollectionView,didSelectItemAt indexPath: IndexPath) {
print("Collection view at row \(collectionView.tag) selected index path \(indexPath)")
}
func collectionView(_ collectionView: UICollectionView,willdisplay cell: UICollectionViewCell,forItemAt indexPath: IndexPath) {
print("willdisplay",indexPath.row)
if let cell = cell as? RemixCollectionViewCell {
oldAndNewIndices.1 = indexPath.row
currentIndex = indexPath.row
cell.pause()
}
}
func collectionView(_ collectionView: UICollectionView,didEnddisplaying cell: UICollectionViewCell,forItemAt indexPath: IndexPath) {
print("didEnddisplaying",indexPath.row)
if let cell = cell as? RemixCollectionViewCell {
cell.pause()
}
}
func collectionView(_ collectionView: UICollectionView,prefetchItemsAt indexPaths: [IndexPath]) {
print("prefetchItemsAt",indexPaths)
}
func collectionView(_ collectionView: UICollectionView,layout collectionViewLayout: UICollectionViewLayout,sizeforItemAt indexPath: IndexPath) -> CGSize {
let size = CGSize(width: collectionView.layer.frame.width,height: collectionView.layer.frame.height)
return size
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)