繁体   English   中英

从UIScrollView子视图呈现一个故事板UIViewController

[英]present a storyboard UIViewController from a UIScrollView subview

我正在尝试从UIScrollView子视图呈现视图控制器。 我曾尝试使用AppDelegate window.rootViewController presentViewController:但这使我“视图不在层次结构中!” 错误。 我想避免使用addSubview,因为这会破坏MVC并似乎删除了控制器的功能(按钮停止工作)。 当我使用预期的presentViewController方法时,我得到“ InititalScrollViewSubview的无可见@interface声明选择器” presentViewController:animated:completion:”,我认为这意味着我的initialScrollViewSubview尝试使用presentViewController,但presentViewController必须来自于UIViewController。UIScrollView没有presentViewController方法。

我的代码是这样的:

-(void)setupTouchIDButtonTapped: (id)sender {

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"newViewController" bundle:nil];
    NewViewController *myNewViewController = [storyboard instantiateViewControllerWithIdentifier:@"myNewVC"];

//我尝试过的第一件事:

AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.window.rootViewController presentViewController:NewViewController animated:YES completion:nil];

//我尝试过的第二件事

[self addSubview:NewViewController.view];

//我尝试的第三件事:

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

}

InitialScrollViewSubview必须保持原样。 理想情况下,我会重构所有内容,因此InitialScrollViewSubview是另一个UIViewController,但是我为一家大型公司工作,并且该应用程序太大了:)任何建议都将不胜感激!

谢谢!!

如果您试图在滚动视图中“嵌入”视图控制器的视图,则不要显示该视图控制器。 您实例化它,然后将其视图添加到视图层次结构中。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"newViewController" bundle:nil];
    NewViewController *myNewViewController = [storyboard instantiateViewControllerWithIdentifier:@"myNewVC"];

[scrollView addSubview:NewViewController.view];

您还需要设置视图的大小/框架或设置自动布局约束,以便正确调整视图控制器的大小。

尝试这个

UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@“ newViewController”捆绑包:无];

NewViewController *myNewViewController = [storyboard instantiateViewControllerWithIdentifier:@"myNewVC"];

AppDelegate * delegate =(AppDelegate *)[[UIApplication sharedApplication]委托];

UINavigationController * rootNvc =代表。窗口.rootViewController;

[rootNvc pushViewController:NewViewController动画:是];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM