1

私のMacにはver 3.2.5のxcodeがあり、分割ビューアプリケーションを作成していますセルの左側のビューをクリックするとカール効果に問題があり、右側の詳細ビューはカールアップで開く必要がありますすべての分割ビューではなく詳細ビューのみをカールアップしたいカルチャ コード アプリケーション名と同じように欲しいと思います

これは私が試したコードですが、スプリットビュー全体で動作しています左側のビューからセルを選択したときにカールアップのみを実行したい

#pragma mark -
#pragma mark Table view delegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    // Navigation logic may go here. Create and push another view controller.
   // NSUInteger row = indexPath.row;

    UIViewController <SubstitutableDetailViewController> *detailViewController = nil;

    if ([indexPath row] == 0 && [indexPath section] == 0) {
        TodoDetailViewController *newDetailViewController = [[TodoDetailViewController alloc] initWithNibName:@"TodoDetailViewController" bundle:nil];
        detailViewController = newDetailViewController;
    }

    if ([indexPath row] == 0 && [indexPath section] == 1){
        PeopleViewController *newDetailViewController = [[PeopleViewController alloc] initWithNibName:@"PeopleViewController" bundle:nil];
        detailViewController = newDetailViewController;
    }

    if ([indexPath row] == 1 && [indexPath section] == 1){
        DocumentsViewController *newDetailViewController = [[DocumentsViewController alloc] initWithNibName:@"DocumentsViewController" bundle:nil];
        detailViewController = newDetailViewController;
    }

    if ([indexPath row] == 2 && [indexPath section] == 1){
        PlannerViewController *newDetailViewController = [[PlannerViewController alloc] initWithNibName:@"PlannerViewController" bundle:nil];
        detailViewController = newDetailViewController;
    }

    //if ([indexPath row] == 0 && [indexPath section] == 2){
//        PlannerRequestsViewController *newDetailViewController = [[PlannerRequestsViewController alloc] initWithNibName:@"PlannerRequestsViewController" bundle:nil];
//        detailViewController = newDetailViewController;
//    }

    if ([indexPath row] == 0 && [indexPath section] == 2){
        ArchivedPeopleViewController *newDetailViewController = [[ArchivedPeopleViewController alloc] initWithNibName:@"ArchivedPeopleViewController" bundle:nil];
        detailViewController = newDetailViewController;
    }


    // Update the split view controller's view controllers array.
   //NSArray *viewControllers = [[NSArray alloc] initWithObjects:self.navigationController, detailViewController, nil];
   // splitViewController.viewControllers = viewControllers;

    //new try-----today
    //splitViewController.viewControllers = [NSArray
                                     //  arrayWithObjects:masterView, detailsView, nil];
    splitViewController.viewControllers = [[NSArray alloc] initWithObjects:self.navigationController, detailViewController, nil];

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1];
    [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:splitViewController.view cache:YES];
    [UIView commitAnimations];
4

1 に答える 1

1

交換してみる

[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:splitViewController.view cache:YES];

[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:detailViewController.view cache:YES];

*更新*

TodoDetailsViewController.h 内

- (void)viewWillAppear:(BOOL)animated 
{
    [super viewWillAppear:animated];

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:1];
    [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];
    [UIView commitAnimations];
}
于 2012-04-12T04:27:19.913 に答える