【发布时间】:2017-01-06 16:57:49
【问题描述】:
我正在尝试从 UIScrollView 子视图呈现视图控制器。 我试过使用 AppDelegate window.rootViewController presentViewController: 但这给了我“视图不在层次结构中!”错误。 我想避免使用 addSubview ,因为这会破坏 MVC 并且似乎删除了控制器的功能(按钮停止工作)。 当我使用预期的 presentViewController 方法时,我得到“No visible @interface for “InititalScrollViewSubview”声明选择器“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 但我为一家大公司工作,应用程序太大了:) 非常感谢任何建议!
谢谢!!
【问题讨论】:
标签: ios objective-c iphone xcode