Closed doing123 closed 5 years ago
多谢,这个昨天找到了。还要请教关于显示后修改数据源的问题,
self!.browser?.dataSource = self!.makeDataSource2(image: (cell?.imageView.image)!)
self!.browser?.reloadData()
self!.browser?.scrollToItem(count - 1, at: .centeredVertically, animated: true)
1.是像这样直接修改dataSource吗? 2.reloadData、scrollToItem的时机是? 现在到最后一条时加载更多只调用reloadData会黑屏,调用scrollToItem会导致'attempt to scroll to invalid index path'错误(我用的网络图片)
Example里的CustomCellViewController
有示例点击删除一项的写法:
// 删除
cell.clickDeleteCallback = { _ in
print("移除第\(index)项")
self?.modelArray.remove(at: index)
self?.browser?.reloadData()
}
你上面发的1,不是这样改,browser的dataSource是一个数据源提供类,提供类不需重新赋值,你要改的是数据源提供类里的数据。在数据修改完后就可以调用reload和scroll了。
invalid index path'
是越界了,估计是数据没改到
前端刚转iOS不到一个月,已解决,多谢。
好好的大前端,为啥要趟iOS这水😄
公司业务需要,咱就是一块砖,哪里需要哪里搬。
现在 pod install 后,import Kingfisher会报错,麻烦适配下版本。
Module file's minimum deployment target is ios10.0 v10.0: /Users/qinjunshan/Library/Developer/Xcode/DerivedData/CodeSprite-heaceykxqtvxhcagwfmbkjlndnpp/Build/Products/Debug-iphonesimulator/Kingfisher/Kingfisher.framework/Modules/Kingfisher.swiftmodule/x86_64.swiftmodule
Kingfisher最新版只支持ios10以上了,你试试在自己的工程里指定Kingfisher一个低版本
我也遇到Module file's minimum deployment target is ios10.0 v10.0这个问题,请问如果指定低版本的kingfisher不能解决问题,那就不能用你这个库了么?
@Gdmec07140507 可以不使用Kingfisher,改用SDWebImage等其它库,然后你需要实现JXPhotoLoader的协议方法,把Kingfisher换成SDWebImage,再把loader传进Browser就行。
在pod file只使用pod 'JXPhotoBrowser/Core'
v2.2.0已发布,此版本兼容Kingfisher5.0
有监听每一页的滑动事件,在photoBrowserDelegate有,重写它的方法可以拿到回调: