- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发应用程序,注册过程后主屏幕将出现。并且 SWRevealViewController 已在主屏幕中配置。
我想以编程方式配置 SWRevealViewController。
下面是我的代码
let storyboard = UIStoryboard(name: "MainSW", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("HomeViewController") as! HomeViewController
let rvc:SWRevealViewController = self.revealViewController() as SWRevealViewController
rvc.pushFrontViewController(vc, animated: true)
但是它给了我如下错误。
Could not cast value of type 'UINavigationController' (0x110d9f860) to 'SWRevealViewController' (0x10dc346b8).
我也尝试过下面的链接
SWRevealViewController solution
但这对我也没有帮助。
最佳答案
这是我的配置方法:
我创建了 2 个 UIBarButtonItem
作为 HomeViewController
的属性(我将在代码中设置它们)
let leftButton = UIBarButtonItem()
let rightButton = UIBarButtonItem()
在viewDidLoad方法中:
revealViewController().delegate = self
在viewWillAppear方法中:
if (revealViewController() != nil) {
revealViewController().rearViewRevealWidth = -50
revealViewController().rightViewRevealWidth = -50
leftButton.image = UIImage(named: "yourImageName")! // check that the image exists, don't use !
leftButton.style = .plain
leftButton.target = revealViewController()
leftButton.action = #selector(SWRevealViewController.revealToggle(_:))
rightButton.image = UIImage(named: "yourImageName")! // check that the image exists, don't use !
rightButton.style = .plain
rightButton.target = revealViewController()
rightButton.action = #selector(SWRevealViewController.rightRevealToggle(_:))
view.addGestureRecognizer(revealViewController().panGestureRecognizer())
view.addGestureRecognizer(revealViewController().tapGestureRecognizer())
}
这是我用来在 HomeViewController 中设置 SWRevealViewController 以便拥有左右菜单的所有代码。
您现在可以使用委托(delegate)方法来自定义您喜欢的行为:
extension HomeViewController: SWRevealViewControllerDelegate {
func revealController(_ revealController: SWRevealViewController!, willMoveTo position: FrontViewPosition) {
view.alpha = position == FrontViewPosition.left ? 1.0 : 0.6
}
}
我在 HomeViewController 上设置了一个 alpha,使其不在前面时变暗。
对于 Storyboard部分:
rear
和 right
segues)将 SWRevealViewController 链接到 2 个 UIViewControllerfront segue
将 SWRevealViewController 链接到您的 UINavigationController。根关系
)请记住,您可能还想为 RegisterViewController 和 HomeViewController 之间的转换创建自定义 Segue。
您也可以通过编程方式创建它:
class RegisterToHomeSegue: UIStoryboardSegue {
override func perform() {
let source = self.source as! RegisterViewController
let homeVC = self.destination as! HomeViewController
let window = source.view.window
window?.rootViewController = homeVC
window?.addSubview(source.view)
UIView.transition(from: source.view, to: homeVC.view, duration: 0.50, options: .transitionCrossDissolve, completion: nil)
}
}
并在Storyboard
中将类segue从RegisterViewController
更改为SWRevealViewController
到这个新的RegisterToHomeSegue
并给它一个标识符。这样您就可以在 RegisterViewController
中调用:
performSegue(withIdentifier: "yourIdentifier", sender: nil)
瞧
,您现在拥有:
告诉我这是否对你有帮助。
关于ios - 如何以编程方式配置 SWRevealViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38431436/
我正在使用良好的控制SWRevealViewController,但通过一些重做,我想在屏幕上跟踪我自己的滑动手势。那么如何关闭滑动选项呢?我只想使用附加到我的按钮的 revealToggle 方法。
我正在开发应用程序,注册过程后主屏幕将出现。并且 SWRevealViewController 已在主屏幕中配置。 我想以编程方式配置 SWRevealViewController。 下面是我的代码
所以我正在使用SWrevealViewController。它运行良好,但我遇到一个问题,当绘制或切换后 View 时,它将前 View 推到右侧,它不会滑过前查看。 如何让它滑过前 View ? 最
我用了SWRevealViewController为我的 iOS 应用程序创建一个滑出菜单。现在我想定制它。我一直在尝试使用本教程作为引用http://www.ebc.cat/2015/03/07/c
在遵循 AppCoda 的 tutorial 之后,我正在使用 SWRevealViewController .我能够在教程中毫无问题地使用它,但无法使其适应我自己的应用程序。原因是在我的应用程序中,
我有一个实现 SWRevealViewController 的应用程序,但我遇到了一些问题。 我有两个问题,我猜它们可能彼此相关(我不确定,因为我对此很陌生)。 如果我在一个从 SWRevealCon
我正在制作简单的 iOS 应用程序,其中有侧边菜单(使用 swrevealviewcontroller)和带有 3 个选项卡的选项卡栏。当我点击特定菜单项时,我想要我的标签栏更改标签。但是sideme
如何在 SWRevealViewController 中给原来的 View controller 添加返回按钮? 我检查了这些并尝试了它们都不起作用: Slide Out Menu without a
我在我的 swift 项目中包含了 SWRevealViewController objective-c 库, 工作正常, 我的问题是,当用户单击其 TableView 中的空白区域时,我想以编程方式
我正在使用 SWRevealViewController 在我的 IOS 应用程序中实现侧边栏。我已经按照 appcoda 教程来实现它,我需要将侧边栏重新定位到 tableview 行中的原始位置点
我正在使用 SWRevealViewController 在我的 iOS 应用程序中添加侧边栏菜单。我的前后 View Controller 都是表格 View Controller 。我的前 Vie
当我显示一个对象时,我想将它传递到我的后端 UIViewController。我在界面生成器中设置了 SWRevealViewController。我尝试在 prepareForSegue 中将其传递
Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_AppDelegate", referenced from: objc-class-
我是 iOS 的新手,遇到了一个问题,我已经成功地实现了 SWRevealViewController 侧边菜单,如果我把 View Controller 作为初始屏幕,它就可以工作,但是当它在登录过
我正在使用 John-Lluch 的 SWRevealViewController。我需要使用平移手势来查看侧边栏,并且我正在使用滑动来查看我的上一篇和下一篇文章。但是,只能检测到平移手势。 更新:如
我使用 SWRevealViewController 在我的应用程序中添加侧边栏菜单。我有我的 SideBarViewController,我在其中设置 View Controller ,比方说 Op
通过 SWRevealViewController 将参数从一个 ViewController 传递到另一个 ViewController。这不是在Front Controller和Rear Cont
我在我的应用程序中使用 SWRevealViewController 作为左滑动菜单。我想检测菜单何时显示在我的 ViewController 中。我怎样才能做到这一点? 最佳答案 检测何时加载 Vi
我正在使用 SWRevealViewController 在 Swift 2.0 中显示侧边菜单 我已经从 GitHub 下载了文件,创建了桥接头并正确连接了转场。我正在创建一个自定义按钮,但“显示切
我正在使用 SWRevealViewController 库在我的应用中用作左滑菜单; github 链接:SWRevealViewController 我已经下载了以下项目示例 Appcoda pr
我是一名优秀的程序员,十分优秀!