星空网 > 软件开发 > 操作系统

重复点击主界面(TabBar)按钮刷新界面

1.监听按钮点击
 
2.判断是否是点击的同一个按钮(记录上次点击的按钮)
 
3.当重复点击相同按钮时,需要获取当前按钮对应控制器刷新界面
     3.1 判断是否重复点击按钮,代码写在哪里?
          点击标题按钮,属于精华控制器的事情,所以找到精华控制器.写在点击按钮方法里面
 
     3.2怎么拿到按钮对应的控制器?
          通过当前按钮的tag值,从精华控制器的子控制器数组中去
     
     3.3怎么让对应的控制器刷新界面?
          在对应的控制器里面提供刷新方法,这样每个控制器都要写,太麻烦
          之前我们抽取了父类,只需要在父类中提供一个刷新界面方法即可,只需要写一次
 
     3.4刷新界面用什么方法?
          reloadData,这个方法不太好,没有下拉刷新的效果
          之前我们在控制器中提供了下拉刷新的方法,调用下拉刷新方法即可
 
     3.5下拉刷新用MJ框架集成的,怎么调用?
    
   // 开始下拉刷新,触发下拉刷新,调用下拉刷新方法  [self.tableView.mj_header beginRefreshing];

 


 
     3.6当控制器第一次被加载的时候,也需要刷新的效果,
           我们在viewDidLoad里面手动调用下 下拉刷新就可以了    
 
二.重复点击tabBar按钮加载数据
1.监听按钮点击
     1.1系统的按钮怎么监听点击?
          设置代理,自己成为自己的代理
          当某些方法必须自己成为自己代理才能实现,那就自己成为自己的代理
 
     1.2怎么监听?
     
1 - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController


 
2.判断是否点击了同一个TabBar按钮(记录上次点击的按钮(控制器))
     2.1定义属性记录上次选中按钮(控制器)
     2.2让第0个按钮(控制器)成为选中按钮(默认会选中第0个按钮)
 
3.获取当前界面显示的控制器,刷新界面
     3.1 tabBarController不能直接获取主题控制器,怎么办?
     
     3.2 采用通知,重复点击tabBar上按钮发出通知,所有主题控制器接收通知
     
     3.3 在精华和新帖的父控制器(主题控制器)接收通知
          点击子类时,self指向子类,也就是子类接收通知
 
     3.4 当所有的子类控制器都被点击时,在点击TabBar按钮,所有的子控制器都接收通知,都会刷新
 
     3.5 怎么做到,只让一个控制器刷新界面?
          接收通知的主题控制器,只有显示在屏幕(界面)上的控制器才需要刷新
 
     3.6 如何判断控制器是否显示在屏幕(界面)上
          通过window属性,如果控制器的view有window属性,表示当前控制器在窗口上显示,没有就没显示。
 
1    // 在屏幕上控制器的view才需要刷新界面2   if (self.view.window) {3     // 开始下拉刷新,触发下拉刷新,调用下拉刷新方法4     [self.tableView.mj_header beginRefreshing];5   }


 
三.点击状态栏回到顶部
 
1.UIScrollView有个特性,点击状态栏,会自动回到顶部
 
2.为什么会有这个特性?
     因为 scrollsToTop这个属性, 苹果对这个属性有介绍  (默认为YES)
     介绍:在当前显示的所有view中,如果多个scrollView的 scrollsToTop属性都打开,就没有效果了
               整个屏幕上只能一个scrollView打开scrollsToTop,才有用
 
3.怎么让我们的主题控制器也拥有: 点击状态栏,自动回到顶部?
     只让主题控制器的scrollsToTop = YES 即可
     在精华和新帖的父控制器中,设置collectionView 和 scrollView(标题按钮栏) 的scrollsToTop属性为NO



原标题:重复点击主界面(TabBar)按钮刷新界面

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

借助Coupon流量入口,让你的爆款锦上添花:https://www.ikjzd.com/articles/133652
亚马逊品牌注册后如何用来保护你的listing:https://www.ikjzd.com/articles/133653
半年销售额破百万美金!shopify站内优化有这么重要?:https://www.ikjzd.com/articles/133654
货代紧急刷屏朋友圈!发货封箱别再贴黄色胶带了:https://www.ikjzd.com/articles/133655
专业卖家必知的亚马逊选品思路分析:https://www.ikjzd.com/articles/133656
亚马逊灯带类目大清洗,大量Listing被删除!:https://www.ikjzd.com/articles/133657
永康白云风景区怎么走 白云山风景区怎么去??:https://www.vstour.cn/a/363181.html
2022世界杯门票如何买?:https://www.vstour.cn/a/363182.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流