我有一个应用程序,用户从选择器轮中选择他们的国家。出现警报并要求他们确认更改。如果他们确认,则会将他们带到不同的视图,然后他们可以从类别列表中进行选择以显示信息...
类别列表嵌入在导航控制器中,以便于从详细视图“返回”移动到类别选择视图。
整个应用程序嵌入在标签栏控制器中。
它工作正常(选择他们的国家后,他们被带到选择类别屏幕),但现在选择类别已失去与标签栏控制器的连接,并且无法返回到应用程序的其他部分。
这是我的alertView代码:
- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
if (buttonIndex == 0) {
NSLog(@"ok");
//I tried the following but it doesn't do anything
//SelectCategory *switchtocategory = [[SelectCategory alloc] init];
//[self.navigationController pushViewController:switchtocategory animated:YES];
//the following works but loses the tab/navigation bars
[self performSegueWithIdentifier: @"GoToCategory" sender: self];
} else {
NSLog(@"cancel");
}
}
答案 0 :(得分:1)
找到答案实际上是要了解标签栏控制器的作用,它如何默认为根视图控制器,然后如何使用它来访问各种视图控制器,而不是试图进行segue。阅读Apple文档对此有所帮助,但代码变得非常简单:
- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 0) {
NSLog(@"ok");
//the following transitions to tab #3 when the alertView is touched/clicked/dismissed
[self.tabBarController setSelectedIndex:2];
} else {
NSLog(@"cancel");
}
}