[IOSS]左右侧边栏
来源:互联网 发布:linux 复制并且重命名 编辑:程序博客网 时间:2024/05/03 13:46
[IOSS]左右侧边栏
DEMO:http://download.csdn.net/detail/u012881779/9226539
应用入口(AppDelegate.swift)
import UIKit@UIApplicationMainclass AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { window = UIWindow(frame: UIScreen.mainScreen().bounds) window?.backgroundColor = UIColor.whiteColor() let sidebar = DMSidebarViewController() let nav = UINavigationController(rootViewController: sidebar) nav.navigationBarHidden = true window?.rootViewController = nav window?.makeKeyAndVisible() return true } func applicationWillResignActive(application: UIApplication) { }}侧栏管理(DMSidebarViewController.swift)
import UIKitclass DMSidebarViewController: UIViewController { let LeftWidthFloat : CGFloat = 150.0; let RightWidthFloat : CGFloat = 200.0; let screenRect = UIScreen.mainScreen().bounds var leftVC = DMLeftViewController() var homeVC = DMHomeViewController() var rightVC = DMRightViewController() override func viewDidLoad() { super.viewDidLoad() let screenRect = UIScreen.mainScreen().bounds leftVC.view.frame = CGRectMake(-screenRect.size.width, 0, screenRect.size.width, screenRect.size.height) leftVC.sidebarVC = self self.view.addSubview(leftVC.view) homeVC.view.frame = CGRectMake(0, 0, screenRect.size.width, screenRect.size.height) homeVC.sidebarVC = self self.view.addSubview(homeVC.view) rightVC.view.frame = CGRectMake(screenRect.size.width, 0, screenRect.size.width, screenRect.size.height) rightVC.sidebarVC = self self.view.addSubview(rightVC.view) } //弹出左侧栏 func popUpLeftAction(){ UIView.animateWithDuration(0.3, animations: { self.leftVC.view.frame = CGRectMake(-self.screenRect.size.width + self.LeftWidthFloat, 0, self.screenRect.size.width, self.screenRect.size.height) self.view.addSubview(self.leftVC.view) self.homeVC.view.frame = CGRectMake(0 + self.LeftWidthFloat, 0, self.screenRect.size.width, self.screenRect.size.height) self.view.addSubview(self.homeVC.view) self.rightVC.view.frame = CGRectMake(self.screenRect.size.width + self.LeftWidthFloat, 0, self.screenRect.size.width, self.screenRect.size.height) self.view.addSubview(self.rightVC.view) }, completion:{(finished : Bool) -> Void in }) } //页面归原位 func popUpHomeAction(){ UIView.animateWithDuration(0.3, animations: { self.leftVC.view.frame = CGRectMake(-self.screenRect.size.width, 0, self.screenRect.size.width, self.screenRect.size.height) self.view.addSubview(self.leftVC.view) self.homeVC.view.frame = CGRectMake(0, 0, self.screenRect.size.width, self.screenRect.size.height) self.view.addSubview(self.homeVC.view) self.rightVC.view.frame = CGRectMake(self.screenRect.size.width, 0, self.screenRect.size.width, self.screenRect.size.height) self.view.addSubview(self.rightVC.view) }, completion:{(finished : Bool) -> Void in }) } //弹出右侧栏 func popUpRightAction(){ UIView.animateWithDuration(0.3, animations: { self.leftVC.view.frame = CGRectMake(-self.screenRect.size.width - self.RightWidthFloat, 0, self.screenRect.size.width, self.screenRect.size.height) self.view.addSubview(self.leftVC.view) self.homeVC.view.frame = CGRectMake(0 - self.RightWidthFloat, 0, self.screenRect.size.width, self.screenRect.size.height) self.view.addSubview(self.homeVC.view) self.rightVC.view.frame = CGRectMake(self.screenRect.size.width - self.RightWidthFloat, 0, self.screenRect.size.width, self.screenRect.size.height) self.view.addSubview(self.rightVC.view) }, completion:{(finished : Bool) -> Void in }) }}首页(DMHomeViewController.swift)
import UIKitclass DMHomeViewController: DMBaseViewController { var sidebarVC : DMSidebarViewController! var leftPanGesture = UISwipeGestureRecognizer() var rightPanGesture = UISwipeGestureRecognizer() override func viewDidLoad() { super.viewDidLoad() //向左方向滑动 leftPanGesture.direction = UISwipeGestureRecognizerDirection.Left leftPanGesture.addTarget(self, action: "tapRightSideAction:") self.view.addGestureRecognizer(leftPanGesture) //向右方向滑动 rightPanGesture.direction = UISwipeGestureRecognizerDirection.Right rightPanGesture.addTarget(self, action: "tapLeftSideAction:") self.view.addGestureRecognizer(rightPanGesture) } //点击按钮弹出左边栏 @IBAction func tapLeftSideAction(sender: AnyObject) { if(self.view.frame.origin.x == 0){ sidebarVC.popUpLeftAction() }else{ sidebarVC.popUpHomeAction() } } //点击按钮弹出右边栏 @IBAction func tapRightSideAction(sender: AnyObject) { if(self.view.frame.origin.x == 0){ sidebarVC.popUpRightAction() }else{ sidebarVC.popUpHomeAction() } }}
示意图:
0 0
- [IOSS]左右侧边栏
- HTML——左右侧边栏布局
- Android 双向左右滑动侧边栏效果
- 侧边栏在线客服左右滑出
- jquery实现侧边栏左右伸缩
- 左右两边的侧边栏实现(使用drawerlayout)
- Android之DrawerLayout实现ViewPager+左右侧边栏
- 使用SlidingMenu和DrawerLayout分别实现左右侧边栏
- Android典型界面设计(5)——使用SlidingMenu和DrawerLayout分别实现左右侧边栏
- 左右滑动出现侧边菜单栏的功能
- 侧边栏
- 侧边栏
- 侧边栏
- 侧边栏-css+js侧边栏运动
- 显示&隐藏侧边栏
- jquery侧边栏效果
- Android侧边栏
- iOS侧边栏实现
- RedHat 9.0 中文显示问题
- iOS - 判断当前时间是否在某个时间段
- 模板的特化
- Cordova Plugin Issue for IOS
- python 开源项目
- [IOSS]左右侧边栏
- Bear and Three Musketeers
- apache安装
- 探索iOS 9适配
- 面试前准备的问题
- IO的例子
- Python正则表达式详解
- 用代码敲一番浪漫,Android开发音乐播放器
- 开始使用mybatis