如何像设置iOS系统一样进行视图转换? [关闭]
Posted
技术标签:
【中文标题】如何像设置iOS系统一样进行视图转换? [关闭]【英文标题】:How to do view transition like setting of system iOS? [closed] 【发布时间】:2016-04-15 10:10:50 【问题描述】:我有一个问题,我不知道...
我想改变界面比如设置:settings.gif
我什至不知道在互联网上搜索它的关键字......
我使用了“交互过渡”和“手势交互”等...但我找不到正确的答案或演示或代码...
你能告诉我如何编写代码来改变界面,比如系统 ios 的设置(也许是一个教程......)?非常感谢!
PS : 我通过 uiviewcontroller 创建了两个视图,而不是 uinavigationController
【问题讨论】:
【参考方案1】:叫interactivePopGestureRecognizer
self.navigationController?.interactivePopGestureRecognizer?.delegate = self
self.navigationController?.interactivePopGestureRecognizer?.enabled = true
将这些行放在您的 ViewController 类中,并将 UIGestureRecognizerDelegate
添加到您的类中
class ViewControllerClass : UIViewController, UIGestureRecognizerDelegate
// class methods
你也可以实现委托方法
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWithGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool
return true
func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldBeRequiredToFailByGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool
return (gestureRecognizer is UIScreenEdgePanGestureRecognizer)
【讨论】:
谢谢你的回答,我有两个视图:class ViewController: UIViewController, UITextFieldDelegate, UITextViewDelegate
和class LoginViewController: UIViewController, UITextFieldDelegate,UIGestureRecognizerDelegate
,class ViewController
中有一个按钮显示class LoginViewController
,我确实像你说的那样:我添加了您在class LoginViewController
类中的代码,但它不起作用...
首先,检查你的navigationController是否不为nil并尝试添加这一行self.navigationController?.interactivePopGestureRecognizer?.enabled = true
默认为true,但添加它以确保一切正常。如果您为您的代码提供这两个控制器,那就太好了
谢谢您的回答,我不知道如何检查navigationController是否为null...但我认为它为null,因为两个视图都是UIViewController
,而我从未定义navigationController通过代码在课堂上...我只是在 XIB 中添加了一个导航控制器...那我该怎么办?谢谢你。我试过你的代码,它不起作用......我认为因为 navigationController 为空,如何在 UIViewController
类中为 navigationController 赋值?谢谢
我通过 uiviewcontroller 创建了两个视图,而不是 uinavigationController 大声笑
要实现这个效果你需要 UINavigationController 和 UIViewController【参考方案2】:
我已经资助了我的答案,我把它推到那里,因为我认为这可能会对其他初学者有所帮助。
1) 我在导航栏中嵌入了一个视图。
2) 在 1) 之后,我们可以使用
let secondViewController = self.storyboard!.instantiateViewControllerWithIdentifier("Your view") as! LoginViewController
self.navigationController!.pushViewController(secondViewController, animated: true)
3) 在第二视图中,会有一个自动反咬,我们可以做类似iOS系统的设置
【讨论】:
以上是关于如何像设置iOS系统一样进行视图转换? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何像在 iMessage 群聊中一样在导航栏中放置集合视图