`
xiangzhihong
  • 浏览: 9222 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

使用SWRevealViewController实现侧滑菜单

阅读更多

1.导入SWRevealViewController

由于该库是用OC写的,所以在swift上使用还需要一些步骤;

1.1 下载SWRevealViewController到本地,然后打开SWRevealViewController文件夹你会看到两个文件

1.2 把这个两个文件拖到你的xcode项目中;然后xocde就会自动弹出个框,询问你是否创建OC bridging header文件,这里选择 Create Bridging Header;苹果官方推荐通过header file文件来让Swift项目使用OC

1.3 然后xcode就会创建一个 项目名-Bridging-Header.h文件,打开该文件,输入:

#import "SWRevealViewController.h"
  • 1

1.4 选择项目名文件,打开Building Settings选项卡 直接搜索关键词 bridging,在 Objective-C Bridging Header 右边对应的方框中双击,复制之前的 Yoper-Bridging-Header.h名称并粘贴按回车键就完成了,

如图:

QQ20170916-144803.png

这样OC库就导入完成了!

2.使用SWRevealViewController (storyboard方式)

2.1 拖拽一个新的View Controller到面板上,并设置class 为SWRevealViewController

2.2 创建菜单 View Controller,这里可以为任何类型的,

  • 2.2.1 创建完成后,左键点击SWRevealViewController的View Controller并按住control不放,

QQ20170916-150516.png

  • 2.2.2 拖动到该菜单ViewController,松开鼠标 会出现一个选择面板
  • 2.2.3 选择 reveal view controller set controller

  • 2.2.4 点击两个ViewController 之间的链接线,在属性面板设置identifier 为sw_rear(不可为其他字符)

2.3 链接要显示侧滑菜单的ViewController ; 如2.2.1 2.2.2 2.2.3 步骤,把SWRevealViewController 与你要显示的ViewController 链接起来,然后对链接线的identifier属性设置为sw_front(代表左侧菜单)

结果如图,这里要注意一个问题,就是指向第一个显示ViewController的箭头 指向了SWRevealViewController; 因为我在实际开发中发现不指向这个ViewController 侧滑菜单不出现,不知道是什么原因 
QQ20170916-152135.png

2.4 在代码设置SWRevealViewController的一些属性和滑动事件

 //侧滑菜单
if(self.revealViewController() != nil) {
     menuItem.target = self.revealViewController()
     //添加点击事件
     menuItem.action = #selector(SWRevealViewController.revealToggle(_:))
     //添加触摸事件
     self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

如果你想判断当前的菜单是否在打开状态,可以用如下代码,

 if(self.revealViewController() != nil) {
                    if self.revealViewController().frontViewPosition != FrontViewPosition.left {
                        self.revealViewController().revealToggle(self.menuItem)
                    }
                }
  • 1
  • 2
  • 3
  • 4
  • 5

FrontViewPosition.left代表左侧菜单

3. 运行结果

QQ20170916-154550@2x.png

分享到:
评论

相关推荐

    Swift项目中利用SWRevealViewController实现侧滑菜单

    在Swift项目中,实现侧滑菜单通常涉及到第三方库的使用,比如SWRevealViewController。SWRevealViewController是一个Objective-C编写的库,但可以通过桥接头文件无缝集成到Swift项目中,提供类似iOS设备上原生侧滑...

    iOS侧滑菜单2

    在这个文件夹中,你可以找到实现侧滑菜单的相关代码文件,包括Swift或Objective-C的源代码、故事板(Storyboard)文件、资源文件等。通过查看这些文件,你可以深入理解这个侧滑菜单的具体实现方式,学习如何在自己的...

    ios 侧滑菜单栏

    在实际开发中,你可以选择使用现有的开源库,如MMDrawerController或SWRevealViewController,它们已经封装了侧滑菜单的大部分逻辑,使你能够更快速地实现这个功能。这些库提供了丰富的配置选项和良好的兼容性,可以...

    侧滑菜单Demo

    实现侧滑菜单的过程通常包括以下步骤: 1. **创建菜单视图**:首先,你需要创建一个包含菜单项的UIView子类,这个视图将作为侧滑菜单的内容。 2. **添加手势识别器**:在主视图上添加UIPanGestureRecognizer,设置...

    左右侧滑菜单功能

    - MMDrawerController是一个强大的库,它可以轻松实现侧滑菜单。只需要将主视图控制器和侧滑视图控制器作为参数传递给MMDrawerController,即可快速设置好基本的侧滑菜单。 - 库提供了多种预设的动画效果,例如...

    ios-侧滑菜单.zip

    在这个"ios-侧滑菜单.zip"的压缩包中,包含了一个名为"LeftView"的文件,这很可能是实现侧滑菜单左侧视图的代码或资源。在实际项目中,这个左视图可能会包含一系列可点击的按钮或图标,每个代表一个不同的功能模块或...

    侧滑菜单源码收集

    - **DrawerLayout**:在Android中,Google提供了DrawerLayout作为实现侧滑菜单的标准组件,它可以轻松地与Fragment配合使用。 - **SwiftUI/Storyboard**:在iOS中,开发者可以使用SwiftUI的HStack和ZStack布局,...

    侧滑抽屉菜单

    在Android开发中,实现侧滑抽屉菜单的一种常见方式是使用`android.support.v4.widget.DrawerLayout`。这是一个包含主内容视图和一个可滑出的抽屉视图的布局容器。开发者可以通过设置`DrawerLayout`的属性,如`...

    ios-左侧滑菜单.zip

    在GitHub上有很多现成的侧滑菜单库,如MMDrawerController、SWRevealViewController等,它们已经封装好了实现细节,开发者只需要按照库的文档进行集成即可快速实现侧滑菜单。CyhSlider可能也是类似的库,它可能提供...

    iOS项目QQ侧滑

    - 在实现侧滑菜单时,需要考虑与应用其他部分的手势冲突问题。例如,如果中间控制器也有自己的手势操作,可能需要阻止这些手势在滑动菜单激活时被触发。 - 这可以通过自定义手势识别器的代理方法,如`...

    SideMenu侧滑菜单

    在iOS开发中,SideMenu的实现可以使用系统提供的`UISplitViewController`,或者使用第三方库如`MMDrawerController`、`SWRevealViewController`等。这些库提供了简单的API来创建和管理滑动菜单,同时支持自定义动画...

    ios 导航侧滑

    1. MMDrawerController:这是一个流行的开源库,提供了简单的API来实现侧滑菜单。它可以轻松地配置左右两侧的菜单,并且支持动画效果。 2. SWRevealViewController:另一个广泛使用的库,它允许自定义菜单视图和内容...

    iOS导航控制器实现全屏侧滑返回demo

    以`SWRevealViewController`为例,这是一个流行的选择,它可以轻松添加侧滑菜单和全屏侧滑返回。 安装`SWRevealViewController`通常通过CocoaPods完成,确保你的项目已经配置了CocoaPods,然后在Podfile中添加以下...

    开源策划效果

    例如,题目中提到的“侧滑SlidingMenu”,可能是指Android上的`SlidingMenu`库,这是一个广泛使用的第三方库,可以快速实现侧滑菜单功能。此外,还有其他流行的开源库,如Android的`SlideUpPanel`、`...

    ios侧滑抽屉

    在iOS应用开发中,侧滑抽屉(Slide Menu)是一种常见的设计模式,它通常...通过学习和使用“iOS-Slide-Menu-1.5”,开发者不仅可以掌握如何在iOS应用中实现侧滑菜单,还能了解如何优化和定制这一组件以满足项目需求。

    ios-非常完美的侧滑 只需几行代码 实现滑动效果.zip

    以`InteractiveSideMenu`为例,使用它来实现侧滑菜单非常简单。首先,你需要将库添加到你的项目中,可以使用CocoaPods或Carthage进行依赖管理。然后,你只需创建一个主视图控制器和一个侧边菜单视图控制器,设置它们...

    ios-侧滑VC的一个思路.zip

    比如,SWRevealViewController提供了丰富的侧滑菜单功能,可以简化实现过程。但使用第三方库时需注意版本兼容性和性能优化。 通过这个Demo,开发者将能够了解到如何在iOS应用中实现侧滑视图控制器的基本流程,以及...

    仿网易首页左右滑动页面

    滑动菜单,也称为侧滑菜单或者抽屉式导航,是一种常见的UI设计模式,尤其在移动应用中广泛使用。这种设计允许用户通过从屏幕边缘向内滑动来展示隐藏的导航选项,提供了一种简洁且节省空间的导航方式。在仿网易首页的...

    滑动菜单的实现

    滑动菜单,也被称为抽屉式菜单或侧滑菜单,是移动应用和网页设计中常见的一种交互元素。这种菜单在屏幕边缘隐藏,当用户向指定方向滑动时,它可以滑出显示更多的选项或功能。在Android和iOS平台上,滑动菜单被广泛...

    ios拖动手势展开菜单栏

    实现侧滑菜单栏的方法有多种。一种常见的方式是使用苹果提供的UIKit框架中的UIPanGestureRecognizer。这个手势识别器可以监听用户的滑动操作,并根据滑动的方向和速度来判断是否应该展开菜单。开发者需要在视图控制...

Global site tag (gtag.js) - Google Analytics