我想知道,当我使用故事板时,我是否仍然可以使用该方法呈现视图控制器presentViewController:(UIViewController *) animated:(BOOL) completion:^(void)completion
?
还是我必须使用segues?
在我的项目中,有一个 VC 可以由 Hole 应用程序中的任何其他 VC 提供,所以如果我使用 segue,那么同一个 VC 会有大约 20 个 segue。
谢谢你。
我想知道,当我使用故事板时,我是否仍然可以使用该方法呈现视图控制器presentViewController:(UIViewController *) animated:(BOOL) completion:^(void)completion
?
还是我必须使用segues?
在我的项目中,有一个 VC 可以由 Hole 应用程序中的任何其他 VC 提供,所以如果我使用 segue,那么同一个 VC 会有大约 20 个 segue。
谢谢你。
那应该仍然有效。在调用该方法之前,您将使用instantiateViewControllerWithIdentifier:
其故事板定义创建视图控制器。
您基本上可以将 StoryBoard ID 分配给要由任何其他 UIViewController 呈现的 UIViewController。
然后你必须在你希望它呈现它的 UIViewController 的 .h 文件的顶部导入 UIViewController 子类,例如我在这里有我想要呈现的 BaseViewController 和 InfoViewController:
#import <UIKit/UIKit.h>
#import "InfoViewController.h"
@interface BaseViewController : UIViewController
{
InfoViewController *InfoViewController;
}
@property (nonatomic, strong) InfoViewController *InfoViewController;
然后在 .m 文件中,您必须合成它并键入实现代码。我在这里使用了一个按钮来显示 InfoViewController 和一个名为ShowInfoAction的IBAction。
@synthesize InfoViewController = _InfoViewController;
- (IBAction)ShowInfoAction:(id)sender {
InfoViewController *InfoVC = [self.storyboard instantiateViewControllerWithIdentifier:@"GiveItAnIDHere"];
[self presentViewController:InfoVC animated:YES completion:NULL];
}