0
내 iPhone 앱에서 다른 홈보기 컨트롤러로 실험하고 싶습니다. 원래 컨트롤러에있는 모든 섹을 복사하거나 새 컨트롤러로 쉽게 이동할 수 있습니까? 원래의 segues는 UITableViewController에 있으므로 수동으로 실행됩니다. 보시다시피, 나는 꽤 많아서 다시 그걸 다시 그리기를 원하지 않습니다 ... 다시. 몇 가지 아이디어를 제공하는 코드와 diagram이 있습니다.모든 홈 ViewController Segues를 새 컨트롤러로 이동 하시겠습니까?
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
BOOL isPhone = YES;
DLog(@"%s", __PRETTY_FUNCTION__);
id navController;
NSArray *sectionTitles = sectionValues[indexPath.section];
NSString *title = sectionTitles[indexPath.row];
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
navController = _parentController;
} else {
navController = self;
isPhone = NO;
}
if ([title isEqualToString:@"Study"]) {
DLog(@"\n\nWARNING: Need to invoke prepareForSegue");
// [_parentController performSegueWithIdentifier:@"StudyListSegue" sender:self];
[navController performSegueWithIdentifier:@"StudyListSegue" sender:self];
} else if ([title isEqualToString:@"Quiz"]) {
_quizType = 1;
if (isPhone) _parentController.quizType = 1;
[navController performSegueWithIdentifier:@"QuizListSegue" sender:self];
} else if ([title isEqualToString:@"Audio Quiz"]) {
_quizType = 2;
if (isPhone) _parentController.quizType = 1;
[navController performSegueWithIdentifier:@"QuizListSegue" sender:self];
} else if ([title isEqualToString:@"Home"]) {
[navController performSegueWithIdentifier:@"HomeSegue" sender:self];
} else if ([title isEqualToString:@"Flashcards"]) {
[navController performSegueWithIdentifier:@"FlashcardListSegue" sender:self];
} else if ([title isEqualToString:@"Conjugator"]) {
[navController performSegueWithIdentifier:@"ConjugationListSegue" sender:self];
} else if ([title isEqualToString:@"Dictionary"]) {
[navController performSegueWithIdentifier:@"DictionarySegue" sender:self];
} else if ([title isEqualToString:@"Numero Practicas"]) {
[navController performSegueWithIdentifier:@"Numbers2Segue" sender:self];
} else if ([title isEqualToString:@"Juego de Memoria"]) {
[navController performSegueWithIdentifier:@"ConcentrationListSegue" sender:self];
} else if ([title isEqualToString:@"Sopa de Letras"]) {
[navController performSegueWithIdentifier:@"GameListSegue" sender:self];
} else if ([title isEqualToString:@"Juego el Ahorcado"]) {
[navController performSegueWithIdentifier:@"HangmanListSegue" sender:self];
} else if ([title isEqualToString:@"Scores/Retest"]) {
if (isPhone) {
[navController performSegueWithIdentifier:@"ScoreSegue" sender:self];
} else {
[navController performSegueWithIdentifier:@"iPadScoreSegue" sender:self];
}
} else if ([title isEqualToString:@"Missed Questions"]) {
[navController performSegueWithIdentifier:@"MissedQuestionSegue" sender:self];
} else if ([title isEqualToString:@"Options"]) {
[navController performSegueWithIdentifier:@"OptionsSegue" sender:self];
} else if ([title isEqualToString:@"Help"]) {
[navController performSegueWithIdentifier:@"HelpSegue" sender:self];
}
}