iOS底部下拉刷新交互实现

iOS 列表的底部下拉刷新的交互设计,确实挺少见,但在某些场景下却顺手。比如聊天记录多了,用户想往回看,就不一定要滚到顶部,有个底部下拉就舒服多了。

UITableViewUICollectionView都能整这个功能,关键是监听scrollViewDidScroll:,判断用户是不是在底部往下拉。这一步挺关键,判断不准容易误触发,体验就不太行。

自定义刷新视图别偷懒,搞个UIActivityIndicatorView加点提示文字,配合beginRefreshing:endRefreshing:就能跑起来。你要是用MJRefresh,会更省事,封装得挺好,样式还能自定义。

异步加载数据要注意别卡界面,尤其是网络求,要让用户能继续滑动列表。你也可以加个缓冲机制,比如只在快到底部时触发,避免每次滑一下就求一次。

打包的底部上拉刷新.zip里应该是个完整的 Demo,建议你跑一遍看看,逻辑不复杂,主要看你怎么封装和适配你自己的项目。

如果你想了解更多实现方式,可以看看这些文章:Swift 实现上下拉刷新EGOTableViewPullRefresh,对理解原理挺有。

zip
.zip 预估大小:29个文件
folder
底部上拉刷新 文件夹
folder
底部上拉刷新.xcodeproj 文件夹
folder
project.xcworkspace 文件夹
folder
xcshareddata 文件夹
file
底部上拉刷新.xccheckout 2KB
file
contents.xcworkspacedata 193B
folder
xcuserdata 文件夹
folder
chekucafe.xcuserdatad 文件夹
file
UserInterfaceState.xcuserstate 10KB
folder
ibokan.xcuserdatad 文件夹
file
UserInterfaceState.xcuserstate 11KB
folder
.svn 文件夹
folder
tmp 文件夹
folder
props 文件夹
folder
prop-base 文件夹
folder
text-base 文件夹
folder
props 文件夹
file
entries 322B
folder
prop-base 文件夹
folder
text-base 文件夹
folder
xcuserdata 文件夹
folder
chekucafe.xcuserdatad 文件夹
folder
xcschemes 文件夹
file
xcschememanagement.plist 490B
file
底部上拉刷新.xcscheme 4KB
folder
ibokan.xcuserdatad 文件夹
folder
xcschemes 文件夹
file
xcschememanagement.plist 490B
file
底部上拉刷新.xcscheme 4KB
file
project.pbxproj 13KB
file
.DS_Store 6KB
folder
.svn 文件夹
folder
tmp 文件夹
folder
props 文件夹
folder
prop-base 文件夹
folder
text-base 文件夹
folder
props 文件夹
file
entries 301B
folder
prop-base 文件夹
folder
text-base 文件夹
folder
底部上拉刷新 文件夹
file
NBAppDelegate.h 375B
folder
en.lproj 文件夹
folder
.svn 文件夹
folder
tmp 文件夹
folder
props 文件夹
folder
prop-base 文件夹
folder
text-base 文件夹
folder
props 文件夹
file
entries 358B
folder
prop-base 文件夹
folder
text-base 文件夹
file
InfoPlist.strings 45B
file
NBViewController.xib 6KB
folder
.svn 文件夹
folder
tmp 文件夹
folder
props 文件夹
folder
prop-base 文件夹
folder
text-base 文件夹
folder
props 文件夹
file
Default.png.svn-work 53B
file
Default-568h@2x.png.svn-work 53B
file
Default@2x.png.svn-work 53B
file
entries 715B
folder
prop-base 文件夹
folder
text-base 文件夹
file
main.m 343B
file
底部上拉刷新-Prefix.pch 339B
file
底部上拉刷新-Info.plist 1KB
file
NBAppDelegate.m 2KB
file
NBViewController.m 4KB
file
Default-568h@2x.png 18KB
file
NBViewController.h 911B
file
Default.png 6KB
file
Default@2x.png 16KB
...
zip 文件大小:53.66KB