0

3ページあります。次のように、各ページはいくつかの値を次のページにプッシュします。ユーザーがメイン ページからボタンをタップすると、ブック ページを含むモデル フォーム シートが表示されます。このコードは次のとおりです。

    BookSelectionview *detailViewController = [[BookSelectionview alloc] initWithNibName:@"BookSelectionview" bundle:nil];

    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:detailViewController];
    navController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    navController.modalPresentationStyle = UIModalPresentationFormSheet;

    UIBarButtonItem *doneBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
                                                                                   target:self
                                                                                   action:@selector(modalViewDone)];
    detailViewController.navigationItem.rightBarButtonItem = doneBarButton;
    detailViewController.navigationItem.title = @"Book Selection";
    [doneBarButton release];

    [self.navigationController presentModalViewController:navController animated:YES];
    [detailViewController release];
    [navController release];
    [self resetReadViewToVerse:1];
}

次に、章のページで、このコードを作成して、移動していくつかの値を詩のページに渡しました。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{         
    ChapterSelectionView *detailViewController = [[ChapterSelectionView alloc] initWithNibName:@"ChapterSelectionView" bundle:nil];
    detailViewController.contentSizeForViewInPopover = CGSizeMake(500, 600);

    //detailViewController.firstString = firstString;
    // ...
    // Pass the selected object to the new view controller.
    detailViewController.selectedIndex=indexPath.row;
    appDelegate.selectedBookIndex=indexPath.row;
    self.hidesBottomBarWhenPushed=YES;
    [self.navigationController pushViewController:detailViewController animated:YES];

    [detailViewController release];         
}

そして、詩のページではここに問題があります....ページには、メインビューに移動して対応する詩を表示する必要があるボタンをタップすると、ボタンの形をした聖書の詩が含まれていますが、それは対応する詩を含むフォームシート内のメインページ..だから私はアニメーション化されたdismissmodelviewを置きます:コードにはい

appDelegate.selectedBook = [appDelegate.books objectAtIndex:appDelegate.selectedBookIndex];
appDelegate.selectedChapter = [NSString stringWithFormat:@"%d",appDelegate.selectedChapterIndex];
appDelegate.selectedVerse = [NSString stringWithFormat:@"%d",[sender.titleLabel.text intValue]];
[appDelegate reloadVerses];

ParallelReadViewController *detailViewController = [[ParallelReadViewController alloc] initWithNibName:@"ParallelReadViewController" bundle:nil];

[self.navigationController pushViewController:detailViewController animated:YES];

[detailViewController release];
[self.navigationController dismissModalViewControllerAnimated:YES];

フォーム シートを閉じて、対応する詩でメイン ページ (parallelreadviewcontroller) に移動するにはどうすればよいですか?

4

1 に答える 1

0

メイン ビューの viewDidLoad に通知を追加する

[[NSNotificationCenter defaultCenter] addObserver:self 
                                         selector:@selector(dismissTheModelView:) 
                                             name:@"dismissTheModelView" 
                                           object:nil];

メインビューの書き込み機能

-(void)dismissTheModelView:(id)sender
{
     [self dismissModalViewControllerAnimated:YES];
}

そして最後に、ポップオーバーコントローラーを閉じる必要がある場所から通知を投稿します。

-(IBAction)cancelButtonPressed:(id)sender
{
    [[NSNotificationCenter defaultCenter] postNotificationName:@"dismissTheModelView" object:nil];
}
于 2012-06-07T10:59:33.647 に答える