我目前正在下面的新故事板中显示viewController:

var storyboard : UIStoryboard = UIStoryboard(name: AccountStoryboard, bundle: nil)
var vc : WelcomeViewController = storyboard.instantiateViewControllerWithIdentifier("WelcomeID") as WelcomeViewController
vc.teststring = "hello"        
self.presentViewController(vc, animated: true, completion: nil)

但是,这将显示没有嵌入式导航控制器的viewcontroller.

我在Objective-C中实现了这一点,但我不知道如何转换成swift:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"SetupStoryboard" bundle:nil];
UINavigationController *navigationController1 = [storyboard instantiateInitialViewController];
navigationController1.modalPresentationStyle = UIModalPresentationFormSheet;
navigationController1.modalTransitionStyle = UIModalTransitionStyleCoverVertical;

WelcomeViewController *vc = (WelcomeViewController *)navigationController1.viewControllers[0];
vc.teststring = @"Hello";

[self presentViewController:navigationController1 animated:YES completion:nil];

你怎么能在Swift 做到这一点?

推荐答案

你肯定走对了路.不幸的是,当您通过情节提要ID引用视图控制器时,它将忽略它嵌入任何内容的事实.segues也是一样,当你 Select 嵌入的东西时,目标视图控制器将是嵌入控制器,而不是你通常感兴趣的控制器.无论如何,您应该能够以类似于Objective-C的方式解决这个问题,所以这只是语法移植的一个练习.

Edit: Define storyboard name with string now

let storyboard : UIStoryboard = UIStoryboard(name: "AccountStoryboard", bundle: nil)
let vc : WelcomeViewController = storyboard.instantiateViewControllerWithIdentifier("WelcomeID") as WelcomeViewController
vc.teststring = "hello"        

let navigationController = UINavigationController(rootViewController: vc)

self.presentViewController(navigationController, animated: true, completion: nil)

或者,您可以为嵌入视图控制器提供一个ID,并将其实例化.

Swift相关问答推荐

将参数集从一个对象复制到另一个对象的最佳方法

变量捕获:变量在函数闭包中的行为

SWIFT中MAP的静态方法包装器

如何防止自动状态恢复,如果应用程序被启动打开特定的文档?

如何在init()中使用setter/getters?

依赖于@Environment的init@StateObject

我可以在预览中通过拖动手势跳转,但在模拟器中失败

是否可以将具有关联值的枚举强制转换为其类型与关联值匹配的变量?

对实例方法appendInterpolation的调用没有完全匹配

将matchedGeometryEffect 应用于列表视图内的视图时,列表视图中的项目会受到影响 - SwiftUI

在SwiftUI中使用ForEach循环来显示字典项的键和值在Form视图中

在 Swift 5.7 中使用协议作为类型时什么时候需要写 `any`

并发执行代码中捕获的 var 的变异

如何删除标签和步进按钮之间的间距是 SwiftUI Stepper?

Vapor - 流利的,将对象保存到 PostgreSQL

通用枚举菜单 SwiftUI

如何使被拖动的对象成为前景(foreground)对象

MKAnnotation Swift

如何使用 swift 将 Images.xcassets 中的图像加载到 UIImage 中

如何停止 NSTimer.scheduledTimerWithTimeInterval