ios - 向左/向右滑动单元格数组中的下一个图像 URL
问题描述
我在该 ID 中有一个专辑 ID 和照片网址。因此,我试图展示一个像 instagram 多张照片一样来回滑动的照片库。有一些相关的问题,但没有一个对我有用,因为我在一个单元格中工作,我不知道如何为每个向右滑动操作下载每个图像。我也无法决定是否应该使用滑动手势或水平添加滚动视图。我还需要添加一个赞按钮。我已经完成了搜索,但在单元格中滑动始终被视为滑动行。
这是我的表格视图代码
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return actors.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "ActorCell") as? ActorCell else {return UITableViewCell() }
cell.nameLbl.text = actors[indexPath.row].uploaderUsername
cell.dateLbl.text = actors[indexPath.row].uploadTime
let myStringArray = actors[indexPath.row].photoURLS.components(separatedBy: ", ")
let finalUrlString = "http://demoweb.com\(myStringArray[counter])"
let url = URL(string: finalUrlString)
let processor = DownsamplingImageProcessor(size: cell.imgView.bounds.size)
|> RoundCornerImageProcessor(cornerRadius: 20)
cell.imgView.kf.indicatorType = .activity
cell.imgView.kf.setImage(
with: url,
placeholder: UIImage(named: "91"),
options: [
.processor(processor),
.scaleFactor(UIScreen.main.scale),
.transition(.fade(1)),
.cacheOriginalImage
])
{
result in
switch result {
case .success(let value):
print("Task done for: \(value.source.url?.absoluteString ?? "")")
case .failure(let error):
print("Job failed: \(error.localizedDescription)")
}
}
return cell
}
和单元格的控制视图
@IBOutlet weak var view: UIView!
@IBOutlet var imgView: UIImageView!
@IBOutlet weak var dateLbl: UILabel!
@IBOutlet weak var nameLbl: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
@IBAction func swiperightt(_ sender: Any) {
counter -= 0
print(counter)
}
@IBAction func swipeleftt(_ sender: Any) {
counter += 1
print(counter)
}
它甚至没有打印出计数器,所以它不会读取我猜的滑动。我试图在主视图控制器上做同样的事情,但没有奏效,因为我不知道如何重新运行下载代码,以便它可以到达另一个 url
编辑评论:swiperightt 和 leftt 是手势而不是按钮
谢谢...
解决方案
如果您的要求是在左右滚动上显示下一个或上一个图像,那么我建议在 tableview 单元格中使用集合视图,这对您来说很容易。您可以使用分页来一次显示一张图像。并且collection会自行管理左右滚动。
推荐阅读
- flutter - 如何在 Flutter 中使用分享插件
- python - 显示存储在嵌套列表中的项目的最高价格和数量
- javascript - 和正则表达式中的运算符?
- php - Laravel 中的 Fullcalendar 语言环境不起作用
- c# - 如何使用 .Net MVC 5 从两个单独的列中获取数据以显示在 DropDownList 中
- java - 在 Tomcat 6 中部署 Spring Boot 应用程序(传统部署)
- html - 如何在 PDF 中使用 CSS 分页
- python - 如何获取用于调用 google api 的委托凭证对象?
- python - 在我们可以使用列变量进行建模之前,列可接受的方差是多少?
- angular - 如何修复 - org.springframework.web.util.NestedServletException 异常