登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

swift写的一个抽屉

[复制链接]
来自: qq360078224 分类: iOS精品源码 上传时间: 2016-6-30 16:24:23
Tag:Swift 抽屉 菜单 menu 侧滑

项目介绍:

swift写的一个抽屉侧滑菜单,点击可以切换不同的控制器。实现的主要代码:

[Objective-C] 查看源文件 复制代码
class ViewController: UIViewController {
    // MARK: - 声明变量
    // 抽屉是否打开
    var isOpen = false
    // 左视图
    var leftView:LeftView = LeftView()
    // 右视图
    var rigntView:RightView = RightView()
    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.backgroundColor = UIColor.whiteColor()
        self.title = "xxxxxx"
        self.edgesForExtendedLayout = UIRectEdge.None
        
        // Do any additional setup after loading the view, typically from a nib.
        self.initLokerView()
        self.addBarItem()
        
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "changeBounds", name: "changeBounds", object: nil)
    
    }
    // MARK: - 初始化视图
    // 初始化左右视图
    func initLokerView() {
        //left
        leftView = LeftView.init(frame: CGRectMake(-SCREEN_WIDTH/2, 0, SCREEN_WIDTH/2, SCREEN_HEIGHT))
        self.view.addSubview(leftView)
        // right
        rigntView = RightView.init(frame: CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT))
        self.view.addSubview(rigntView)

    }
    // MARK: - 添加barItem
    // 添加nav的左Btn
    func addBarItem() {
    
        let image = UIImage(named: "leftItem")!.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
        let leftItem:UIBarButtonItem = UIBarButtonItem.init(image: image, style: UIBarButtonItemStyle.Done, target: self, action: "barItemAction")
        self.navigationItem.leftBarButtonItem = leftItem
    
    }
    // 点击左Btn,使抽屉开关
    func barItemAction() {
        NSNotificationCenter.defaultCenter().postNotificationName("changeBounds", object: self.isOpen)        
    }
    // MARK: - 通知方法
    // 响应开关抽屉的通知
    func changeBounds() {
        
        if isOpen {
            UIView.animateWithDuration(0.5, animations: { () -> Void in
                self.view.bounds.origin.x += SCREEN_WIDTH/2
            })
        }else {
            UIView.animateWithDuration(0.5, animations: { () -> Void in
                self.view.bounds.origin.x -= SCREEN_WIDTH/2
            })
        }
        isOpen =  !isOpen
    }
    // MARK: - 系统方法
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

DEMO 下载:
aibianli供应商.zip (59.26 KB, 下载次数: 33, 售价: 3 金钱)
1253 0 0
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,742864542


代码贡献英雄榜
用户名 下载数
通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表