我想将显示更改为UIViewController,它在故事板上具有来自UIViewController类的视图控制器,该类在故事板上没有视图控制器。故事板上没有这个... ...
答案 0 :(得分:0)
就像这样:
在AppDelegate.m中进行快速设置:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
ViewController *sourceViewController = [[ViewController alloc] init];
UINavigationController * nav = [[UINavigationController alloc] initWithRootViewController:sourceViewController];
[self.window setRootViewController:nav];
return YES;
}
在上面的示例中,将ViewController
类替换为您自己的sourceViewCntroller
- (IBAction) didPressMyButton {
NewViewController* newVC = [[[NewViewController alloc] init] autorelease];
[self.navigationController pushViewController:newVC animated:YES];
}
将此操作连接到故事板上的按钮或以任何方法嵌入视图更改。您需要先设置UINavigation控制器。
答案 1 :(得分:0)
我不完全确定我理解你要做的是什么,但是我想你正在问一个如何从一个故事板加载一个视图控制器,而不使用segue,来自一个视图控制器中的方法。从故事板加载。
首先,在故事板中,选择要加载的视图控制器,然后打开Identity Inspector。设置视图控制器的Storyboard ID。您似乎要加载MapViewController
,因此我们假设您将故事板ID设置为map
。
在您的代码中,您可以像这样加载视图控制器:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
MapViewController *mapViewController = [storyboard instantiateViewControllerWithIdentifier:@"map"];
一旦您有对视图控制器的引用,您就可以设置其属性或向其发送消息。然后,您可以以任何您想要的方式显示它 - 可以通过将其推送到导航控制器,或通过呈现它,或者将其设置为窗口的根视图控制器。