如何像设置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, UITextViewDelegateclass LoginViewController: UIViewController, UITextFieldDelegate,UIGestureRecognizerDelegateclass 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系统一样进行视图转换? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

像 LOVOO 一样的雷达视图 [关闭]

如何像在 iMessage 群聊中一样在导航栏中放置集合视图

像IOS 5一样裁剪UIImage时如何制作视图效果?

如何像 UILabel 一样创建具有 intrinsicContentSize 的视图?

如何创建轮换交易信息视图 [关闭]

如何像 Skype 一样回复推送通知? [关闭]