-
首先,我们创建两个控制器,一个为HomeViewController根导航控制器,一个为LeftViewController侧滑控制器
侧滑控制器用于跳转到各个子视图控制器
Simulator Screen Shot - iPhone X - 2019-08-20 at 13.41.15.png - 侧滑跳转主要是通过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)
有问题反馈
在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流
- 邮件(951123604@qq.com)
- QQ: 951123604
- weibo: @xiaoqiang是个小疯子
- twitter: @CharlesDing8
网友评论