Swift - 点击状态栏使tableView返回顶部(附:状态栏点击事件响应)

Swift - 点击状态栏使tableView返回顶部(附:状态栏点击事件响应),第1张

概述1,当页面上只有一个scrollView,点击状态栏scrollView会自动滚动到顶部 比如页面上只有一个表格( UITableView),当点击顶部状态条后,表格会像QQ、微信联系人列表那样回到最上面。 这个是iOS系统默认就有的。 2,当页面上有多个scrollView,点击状态栏时,视图都不会滚动 这时我们需要把不需要滚动的  scrollView 的  scrollToTop 设为  f 1,当页面上只有一个scrollVIEw,点击状态栏scrollVIEw会自动滚动到顶部 @H_419_5@ 比如页面上只有一个表格( UItableVIEw),当点击顶部状态条后,表格会像QQ、微信联系人列表那样回到最上面。 @H_419_5@ 这个是iOS系统默认就有的。 @H_419_5@
@H_419_5@
@H_419_5@ 2,当页面上有多个scrollVIEw,点击状态栏时,视图都不会滚动 这时我们需要把不需要滚动的 scrollVIEwscrollTotop设为 false,只留下一个。 @H_419_5@
1 tableVIEw?.scrollsTotop = false ;
@H_419_5@
3,状态栏点击事件响应
有时我们想在状态栏点击的时候,除了让视图自动滚动外,还想执行一些其他 *** 作。实现方式分为下面两种情况:

(1)页面上有scrollVIEw时
如果页面上有滚动视图的话,直接在 scrollVIEwShouldScrollTotop()事件响应中添加相关 *** 作即可。 @H_419_5@ (注:如过不需要滚动视图,方法内可以 return false) @H_419_5@ @H_419_5@
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 import UIKit class VIEwController : UIVIEwController , UItableVIEwDelegate UItableVIEwDataSource { var tableVIEw: UItableVIEw ? overrIDe func loadVIEw() { super .loadVIEw() } vIEwDIDLoad() { .vIEwDIDLoad() //创建表视图 self .tableVIEw = (frame: .vIEw.frame,style: UItableVIEwStyle . Plain ) .tableVIEw!.delegate = self .tableVIEw!.dataSource = self //创建一个重用的单元格 .tableVIEw!.registerClass( UItableVIEwCell . "SwiftCell" ) .vIEw.addSubvIEw( .tableVIEw!) } scrollVIEwShouldScrollTotop(scrollVIEw: UIScrollVIEw ) -> Bool { print ( "状态栏点击" ) //这里添加需要执行的代码逻辑.... //不滚动表格视图 return false } //在本例中,只有一个分区 numberOfSectionsIntableVIEw(tableVIEw: Int { return 1; } @H_440_404@//返回表格行数(也就是返回控件数) tableVIEw(tableVIEw: { 100 } @H_95_419@ //创建各单元显示内容(创建参数indexPath指定的单元) NSIndexPath ) -> UItableVIEwCell { //为了提供表格显示性能,已创建完成的单元需重复使用 let IDentify: String = "SwiftCell" //同一形式的单元格重复使用,在声明时已注册 cell = tableVIEw.dequeueReusableCellWithIDentifIEr(IDentify, forIndexPath: indexPath) as UItableVIEwCell cell.accessoryType = UItableVIEwCellAccessoryType disclosureIndicator cell.textLabel?.text = "条目数据\(indexPath.row)" cell } dIDReceiveMemoryWarning() { .dIDReceiveMemoryWarning() } }

(2)页面上没有scrollVIEw时
如果页面上没有滚动视图,我们可以自己添加个隐藏的 scrollVIEw(高度为0),然后同样在 scrollVIEwShouldScrollTotop()中添加相应的 *** 作。
(注:不要使用 hIDden或者 Alpha=0隐藏 scrollVIEw,会无法调用 scrollVIEwShouldScrollTotop()方法)
@H_419_5@ 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 34
uiscrollviewdelegate //创建一个隐藏的滚动视图 scrollVIEw = () scrollVIEw.frame = CGRect (x: 0,y: 0,wIDth: .vIEw.frame.wIDth,height: 0) scrollVIEw.contentSize = CGSize (wIDth: CGPoint self .vIEw.addSubvIEw(scrollVIEw) { ) //这里添加需要执行的代码逻辑.... //不滚动视图 false dIDReceiveMemoryWarning() { .dIDReceiveMemoryWarning() } }

原文出自: www.hangge.com 转载请保留原文链接: http://www.hangge.com/blog/cache/detail_951.html 总结

以上是内存溢出为你收集整理的Swift - 点击状态栏使tableView返回顶部(附:状态栏点击事件响应)全部内容,希望文章能够帮你解决Swift - 点击状态栏使tableView返回顶部(附:状态栏点击事件响应)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1073880.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存