如何从左到右进行程序化的segue过渡?

时间:2014-08-20 02:45:39

标签: ios objective-c segue

我创建了一个UIButton,按下后,将我的用户带到主屏幕(充当" Back"按钮)。因为我想在没有通常笨重的导航栏的情况下实现这一点,我使用了下面的代码。然而,当按下按钮时,过渡从右到左;如何从左到右进行下面的segue过渡(在"后面"动作中)?

FullArticleViewController.m

-(IBAction)goBack:(id)sender {

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
    FullArticleViewController *yourViewController = (FullArticleViewController *)[storyboard instantiateViewControllerWithIdentifier:@"ArticlesViewController"];
    [self.navigationController pushViewController:yourViewController animated:YES];
}

2 个答案:

答案 0 :(得分:0)

使用此:

[self.navigationController popViewControllerAnimated:TRUE];

这会将您的导航控制器堆栈“弹出”回一个视图控制器。这也会阻止您像现在一样将视图控制器添加到堆栈中。

您可以使用类似的东西弹出多个视图控制器(仅供参考):

UIViewController *viewToPopTo = [self.navigationController.viewControllers objectAtIndex:([self.navigationController.viewControllers indexOfObject:self] - 2)];
[self.navigationController popToViewController:viewToPopTo animated:TRUE]; //Pops back 2

答案 1 :(得分:0)

如果您使用UINavigationController推送FullArticleViewController,请写:

[self.navigationController popViewControllerAnimated:YES];

如果您以模态方式呈现,请写:

[self.presentingViewController dismissViewControllerAnimated:YES];

使用UINavigationController对象时,默认情况下会显示导航栏,但如果需要,可以隐藏它。