Ios 无法移动到其他视图控制器
我正在尝试从第一视图控制器->第二视图控制器移动。然而,似乎什么都没有发生 它主要来自一个登录页面,所以我不需要在成功登录后返回该页面。我现在试着按一下按钮,只是想检查一下 我有两门课Ios 无法移动到其他视图控制器,ios,uiviewcontroller,Ios,Uiviewcontroller,我正在尝试从第一视图控制器->第二视图控制器移动。然而,似乎什么都没有发生 它主要来自一个登录页面,所以我不需要在成功登录后返回该页面。我现在试着按一下按钮,只是想检查一下 我有两门课 签名页 选项屏幕 我需要从1>2开始 内部签名页 #import "optionsScreen.h" - (IBAction)moveToNext:(id)sender { optionsScreen *aSecondPageController = [[optionsScreen al
内部签名页
#import "optionsScreen.h"
- (IBAction)moveToNext:(id)sender {
optionsScreen *aSecondPageController =
[[optionsScreen alloc]
initWithNibName:@"optionsScreen"
bundle:nil];
[self.navigationController pushViewController:aSecondPageController animated:YES];
// [aSecondPageController release];
}
故事板截图 解决方案:
- (IBAction)moveToNext:(id)sender {
NSString * storyboardName = @"Main_iPhone";
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:storyboardName bundle: nil];
UIViewController * vc = [storyboard instantiateViewControllerWithIdentifier:@"optionsScreen"];
[self presentViewController:vc animated:YES completion:nil];
}
在情节提要中添加导航视图控制器。作为根视图控制器-默认情况下可能是表视图控制器,所以请删除它-设置第一视图控制器。添加导航控制器您可以将任意多个视图控制器推送到导航堆栈中。我认为您要做的是以模态方式呈现视图控制器,而不是将其推送到堆栈中(该堆栈不存在)。相反,你应该这样做。默认情况下,这不会显示“后退”按钮,因此您必须手动添加一个按钮:
optionsScreen *aSecondPageController = [[optionsScreen alloc] initWithNibName:@"optionsScreen" bundle:nil];
[self presentViewController:aSecondPageController animated:YES completion:nil];
要返回,在您的选项屏幕
视图控制器中,您需要某种返回按钮,对吗?因此,您可以在viewDidLoad中执行此操作:
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:@selector(backPressed:);
然后您必须创建一个名为backPressed:
-(void)backPressed:(id)sender {
[self dismissViewControllerAnimated:YES completion:nil];
}
编辑:事实证明,您正在尝试执行我上面解释的操作。我将留下导航控制器位供将来参考 如果您试图使用导航控制器来按下选项,默认情况下会给您一个后退按钮,那么首先,在故事板中,单击您的登录视图控制器,然后在顶部的菜单栏上转到
Editor>Embed in…>导航控制器
。然后,在视图控制器切换方法中,可以执行以前尝试过的操作
optionsScreen *aSecondPageController = [[optionsScreen alloc] initWithNibName:@"optionsScreen" bundle:nil];
[self.navigationController pushViewController:aSecondPageController animated:YES];
你有什么错误吗?你确定你的按钮已链接(aka is
moveToNext:
正在被调用?没有错误,它只是不起任何作用。向该方法添加NSLog('called');并确保该方法正在被调用。你的第一视图控制器需要在导航控制器中。啊哈,我应该检查谷歌驱动器图像…你赢了@rmaddy:)