gpt4 book ai didi

ios - 从 Storyboard中的 UIViewController 加载 UIView 不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:20:00 24 4
gpt4 key购买 nike

我正在尝试从 Storyboard 中的 UIViewController 加载 UIView,而无需 segue。我创建了 UIViewcontroller,布置了所有内容,将其与特定类连接并设置了一个 Storyboard ID。我还将元素连接到我的类的 h.file,现在我正在寻找一种方法来初始化此 UIViewControllersubview 而无需一个 segue。我一直在搜索并找到了很多以这种方式加载 UIViewController 的帖子:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
pointVC = (PointsViewController *)[storyboard instantiateViewControllerWithIdentifier:@"PointsViewController"];

尝试这样添加 View , View 跳转到下一个UIViewController:

pointVC.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentViewController:pointVC animated:YES completion:NULL];

addChildViewController 一样添加它也不起作用:

[self addChildViewController:pointVC];

初始化后,我尝试将特定 UIViewController 中的 UIViews 之一添加到我的实际 View 中,但它不起作用。如果我只使用前两行,则不会发生任何事情,UIViewController 对象内部没有 UIViews,因为永远不会调用 viewDidLoad。有什么想法吗?


我也试过

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
pointVC = (PointsViewController *)[storyboard instantiateViewControllerWithIdentifier:@"PointsViewController"];
[self addChildViewController:pointVC];
[self.view addSubview:pointVC.viewPointsDialog];
[pointVC didMoveToParentViewController:self];

最佳答案

应该是

[self.view addSubview:pointVC.view];

代替

[self.view addSubview:pointVC.viewPointsDialog];

所以最终的工作代码应该是这样的:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
pointVC = (PointsViewController *)[storyboard instantiateViewControllerWithIdentifier:@"PointsViewController"];
[self addChildViewController:pointVC];
[self.view addSubview:pointVC.view];
[pointVC didMoveToParentViewController:self];

您可以在 pointVC.view 上使用 setFrame 来正确定位它。

关于ios - 从 Storyboard中的 UIViewController 加载 UIView 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20046810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com