首页 > 解决方案 > 向左/向右滑动单元格数组中的下一个图像 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 是手势而不是按钮

谢谢...

标签: iosswift

解决方案


如果您的要求是在左右滚动上显示下一个或上一个图像,那么我建议在 tableview 单元格中使用集合视图,这对您来说很容易。您可以使用分页来一次显示一张图像。并且collection会自行管理左右滚动。


推荐阅读