ios swift方法以编程方式浏览viewcontroller

Posted

技术标签:

【中文标题】ios swift方法以编程方式浏览viewcontroller【英文标题】:ios swift method to navigate through viewcontroller programatically 【发布时间】:2015-03-23 15:32:59 【问题描述】:

我想创建我的函数来浏览我的视图。

我有一个功能

   func ShowView(name:String,caller:AppDelegate)


        //story board
        let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)

        let initViewController: UIViewController = storyBoard.instantiateViewControllerWithIdentifier(name) as UIViewController

        caller.UIWindow?.rootViewController = initViewController


但我需要从 AppDelegate 和 UIViewController 调用此函数,我如何从 UIViewController 获取 uiwindow,从 AppDelegate 可以,但我不能像调用者参数一样保留 AppDelegate,因为我希望它与 UIViewController 一起使用。 我真的不知道我的参数必须使用哪个。

非常感谢

【问题讨论】:

【参考方案1】:

如果您从主视图移动到详细视图,则无需每次都更换 rootView 控制器。使用 segue 将根视图连接到详细信息视图。设置一个标识符以在故事板中进行 segue。在 viewController 类中覆盖 prepareForSegue。


override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) 

    if(segue.identifier == "showDetails")
    
        var viewController=segue.destinationViewController as DetailsView
        //set data            
     

【讨论】:

接受谢谢,我的视图中没有按钮或导航栏来设置故事板中的 segue,我想以编程方式加载我的新视图控制器。也许您知道一种无需添加按钮或导航栏即可添加 segue 的方法。最好的问候 没关系,我找到了一种不带按钮添加segue的方法,我在视图控制器上单击鼠标右键后拖动加号谢谢

以上是关于ios swift方法以编程方式浏览viewcontroller的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在Swift中以编程方式设置NSCollectionView?

使用 CoreData 以编程方式创建实体/表,并在 Swift 3 for iOS 中将值插入该实体

在屏幕之间浏览 - Swift IOS

iOS 以编程方式删除浏览历史记录

IOS swift scrollview以编程方式

Swift 3,iOS 10 - 以编程方式声明 UIStackView 不适合屏幕宽度