swift侧滑实现

作者: MichaelDing | 来源:发表于2019-08-22 09:28 被阅读0次
    1. 首先,我们创建两个控制器,一个为HomeViewController根导航控制器,一个为LeftViewController侧滑控制器
      侧滑控制器用于跳转到各个子视图控制器


      Simulator Screen Shot - iPhone X - 2019-08-20 at 13.41.15.png
    2. 侧滑跳转主要是通过swift中的block实现,首先我们在在LeftViewController中定义一个block:
      代码如下;
      let dataSourceArr = ["新闻","体育","生活"]
      let iconArr = ["childIcon","recordIcon","mineIcon"]
      var tableViewSelectIndexPath = {(vc:UIViewController) -> Void in}
    

    其次首页控制器HomeViewController根导航控制器左上角有个按钮,当点击这个按钮的时候我们以模态跳转的方式进入LeftViewController,代码如下:

    let leftVC = LeftViewController()
    leftVC.tableViewSelectIndexPath = {(vc:UIViewController) -> Void in
                self.navigationController?.pushViewController(vc, animated: true)
            }
    self.present(leftVC, animated: false, completion: nil)
    

    在LeftViewController中点击tableView 的cell的时候我们调用预先定义的block,同时回调控制器到首页控制器,
    代码如下:

     func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
            tableView.deselectRow(at: indexPath, animated: true)
            self.dismiss(animated: false, completion: nil)
            var vc:UIViewController!
            switch indexPath.row {
            case 0:
                vc = FirstViewController()
                break
            case 1:
                  vc = SecondViewController()
                break
            case 2:
                vc = ThirdViewController()
                break
            default:
                break
            }
            self.tableViewSelectIndexPath(vc)
    
        }
    

    最后通过首页控制器的导航功能进行跳转,代码如下:

     let leftVC = LeftViewController()
            leftVC.tableViewSelectIndexPath = {(vc:UIViewController) -> Void in
                self.navigationController?.pushViewController(vc, animated: true)
            }
     self.present(leftVC, animated: false, completion: nil)
    

    有问题反馈

    在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流

    觉得我写的不错,欢迎留言与打赏,金额随意,喝杯小茶,让我知道我的努力有价值,你的留言与打赏就是最好的反馈,让我更有动力继续分享。

    相关文章

      网友评论

        本文标题:swift侧滑实现

        本文链接:https://www.haomeiwen.com/subject/bvugsctx.html