0

我想知道,当我使用故事板时,我是否仍然可以使用该方法呈现视图控制器presentViewController:(UIViewController *) animated:(BOOL) completion:^(void)completion

还是我必须使用segues?

在我的项目中,有一个 VC 可以由 Hole 应用程序中的任何其他 VC 提供,所以如果我使用 segue,那么同一个 VC 会有大约 20 个 segue。

谢谢你。

4

2 回答 2

4

那应该仍然有效。在调用该方法之前,您将使用instantiateViewControllerWithIdentifier:其故事板定义创建视图控制器。

于 2012-12-06T21:05:50.890 回答
1

您基本上可以将 StoryBoard ID 分配给要由任何其他 UIViewController 呈现的 UIViewController。

故事板 ID

然后你必须在你希望它呈现它的 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];
    }
于 2012-12-06T21:35:48.920 回答