问题标签 [ecslidingviewcontroller-2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - ECSlidingViewController2 可以与左右栏按钮一起使用吗?
有谁知道 ECSlidingViewController2 是否可以同时与左右 UIBarButtonItem 一起使用?每个示例仅显示导航栏左侧使用的单个按钮。
https://github.com/ECSlidingViewController/ECSlidingViewController
提前致谢!
编辑:
为了将来参考,现在可以在以下位置找到显示 ECSlidingViewController2 同时使用左右 UIBarButtonItem 的示例:
https://github.com/ECSlidingViewController/ECSlidingViewController/tree/master/Examples/LayoutDemo
ios - 以编程方式更改 ECSlidingViewController 中的视图
我正在尝试以编程方式更改选定的菜单项和显示的 topViewController。换句话说,我正在尝试做同样的事情来更改 UITabBarController 中的选定选项卡:
因此,根据另一个 SO 问题(https://stackoverflow.com/a/20309377/1161723),我正在使用它来更改显示的 topViewController:
但它不起作用。好吧,前两行工作正常,分别显示菜单和更改 topViewController,但最后一行根本不隐藏 sidemenu,所以它一直在那里,直到我通过手势或点击按钮隐藏它。调试显示最后self.slidingViewController
返回nil
而不是 ECSlidingViewController 的实例。如果我跳过第一行和最后一行,只留下:
它使应用程序崩溃。
知道如何通过隐藏侧菜单正确更改视图吗?我正在使用 ECSlidingViewController 2.0.1
编辑:使用竞争块和/或创建对滑动视图控制器的引用没有任何区别:
2014 年 7 月 14 日更新:
仅当使用自定义视图控制器转换时,侧边菜单才不会隐藏。例如在TransitionFun 示例中。
应用程序在 unwind segue 处理程序中仅保留以下内容时崩溃:
注意:如果最后一个视图控制器(调用 unwind segue 的地方)由push segue 而不是modal segue 呈现,则应用程序不会崩溃。
您可以在此处查看图像上视图控制器的层次结构
(它基本上是 TransitionFun 示例,其中还有一个 VC 封装在 NavigationVC 中,并由设置单元格中的 segue 以模态方式呈现)
ios - 从屏幕右侧滑出视图控制器
我想从主视图控制器的右侧创建一个滑出菜单。但是,我希望滑出菜单出现在主视图的顶部,而不是将其推到一侧。
我看过 ECSlidingViewController 2,它允许从任一侧滑出,但是滑出菜单在暴露的边缘上似乎被切断了。它创建了顶视图控制器向左或向右移动以显示其下方隐藏菜单的效果。我希望它看起来隐藏菜单滑出到主视图控制器上,并且我们可以看到它的左边缘,因此没有内容被切断。
这完全有可能吗? ECSlidingViewController 2 会为此工作吗?
编辑
这是我尝试过的:
要检测触摸开始:
然后拖动:
但是,当我开始触摸时,filterView 会替换所有视图,并且无论如何都不会滑动或动画。我虽然这是由于没有提供一个起点 - 所以我像这样设置了 self.filterView :
self.filterView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 120, 564)];
但是,更改这些值对显示时视图的位置/大小没有影响。
编辑 2
好的,我开始了一个新的测试项目,并设法通过我的触摸在屏幕上获得一个可以移动的视图。
我在用UIPanGestureRecognizer
像这样:
{ [超级 viewDidLoad];
}
然后在拖动方法中:
这允许视图仅水平移动。
几乎就在那里 - 我现在想弄清楚的是当用户抬起手指时让它捕捉到一个位置。以及当它的起始位置不在屏幕上时如何移动这个视图。
编辑 3
好的,所以我想控制出现在屏幕上的视图的速度和速度。如果用户快速滑动,视图会以他们滑动的速度进入。如果他们慢慢滑动,它就会慢慢到位。但是我也设置了最低时间 - 所以如果他们需要很长时间 - 它默认为最小时间。
这是代码:
}
现在只是为了让它从侧面拉开视野。
ios - 当顶视图离开屏幕时防止滑动
所以我一直在玩 ECSlidingView 中包含的示例。
在 BasicMenu 示例中:我在 Settings 表视图中放置了 20 行。当我打开菜单时,如果我触摸它,设置中的表格视图会继续滑动。
在 TransitionFun 示例中,表格视图在不是全屏时不能滑动。
我查看了代码,没有看到导致这种差异的原因。有人可以向我指出吗?我有一个几乎从 BasicMenu 开始的应用程序,有时我在使用平移手势关闭菜单时遇到问题,因为我最终不小心滑动了大部分屏幕之外的表格视图。
谢谢!
ios - 单击菜单按钮后 UIDynamics 拖动无响应
我正在尝试在我的项目上从https://github.com/ECSlidingViewController/ECSlidingViewController的示例中实现 UI 动态,并且在按下运行以下代码的菜单按钮后我的屏幕变得无响应:
任何想法我可能做错了什么?
注意:如果我不按菜单按钮,我可以通过拖动顶部屏幕每次显示/隐藏侧边栏。
注意 2:如果您知道更好的滑动视图库,我会全神贯注 :-)
ios - 禁用 topViewController
当slidingViewController打开时是否可以禁用topViewController?我正在使用 ECSlidingViewController 版本 ~1.3,当我公开菜单时,topViewController 不可触摸。但是,在一个新项目中,我使用的是最新版本(2.0.2)的 ECSlidingViewController,当我公开菜单时,topViewController 仍然是可触摸的。当它滑到一边时,我想禁用顶视图。在这种情况下,允许用户触摸除汉堡菜单之外的任何内容是没有意义的,因为只有一小部分是可见的。
我一直在寻找一种禁用视图的方法,但没有成功,但到目前为止还没有这样的运气。我什至尝试在触摸汉堡菜单时将 topViewController.view.touchesEnabled 属性设置为 NO,但由于某种原因,这也会禁用汉堡菜单,因此您只能使用手势关闭菜单。
任何意见是极大的赞赏。谢谢。
ios - 在实施 ECSlidingViewController 时需要建议
我正在尝试从头开始部署 BasicMenu 示例之类的东西。
步骤已经完成:
ECSlidingViewController
在情节提要中使用适当的用户定义的运行时属性创建并设置为初始化视图。MenuViewontroller
使用标识符创建:MenuView
和展开方法HomeScreenViewController
使用标识符创建:HomeScreen
并植根于UINavigationController
MenuViewController.tableView
创建从第一个单元格到UINavigationController
的滑动转场HomeScreen
- 在
HomeScreenViewController
创建UIBarButtonItem
时绑定到 Unwind 方法的操作。
启动应用程序后一切看起来都很好,但是当我点击导航栏中的菜单按钮时,什么也没有发生。MenuViewController
也未调用的 unwind 方法。
PS 我发现 MenuViewController 在运行时没有实例化。不知道为什么 =( PPS 我发现了这个问题!!!这是一个非常愚蠢的错误——我没有在 Storyboard 中被指定为 ViewController 类。
ios - 带有 Push 和 Unwind Segue 的 ECSlidingViewController
我正在使用ECSlidingViewController
故事板。ECSlidingVC
是我的根(起始)控制器。我的左侧菜单是TableView
带有静态单元格的,而我TopViewController
的是导航控制器。我想为NavigationController
我的所有应用程序提供一个单一的。
从我的左侧菜单中,我不能使用 push 或 unwind segues,但我理解那部分。我只能使用ECSlidingSegue
哪些更改topviewController
以及ECSlidingVC
哪些会破坏我的导航控制器及其堆栈。
我希望能够在我的主导航控制器中从菜单项 VC 返回到上一个 VC。可以说基本上我不想ECSlidingVC
改变topViewController
而是将目的地推viewController
送到我的来源。topViewController
. navigationController
.
我还需要对我的菜单项使用 unwind segues。我需要回到我的主导航控制器中的 VC。
我检查ECSlidingSegue
了源代码,它所做的只是替换topViewController
.
ECSlidingViewController
是否有用于将 VC 推入(或展开)源代码的内置方法(或 segue) 。topViewController
. navController
还是我需要自己实现自定义segue?
ios - 如何在 iOS 中为 ECSlidingViewController 构建 3D 变换?
我想构建一个基于https://github.com/ECSlidingViewController/ECSlidingViewController的特殊动画。
缩放动画如下图所示。
我只想通过 PI / 4 旋转主视图控制器。如下图所示。
我曾尝试像下面的代码一样进行 EndState 转换,但它不起作用。
任何帮助、指针或示例代码片段将不胜感激!