2010-06-22 5 views
0

Я застрял в этой проблеме некоторое время. У меня есть UIVIEW (SelectionScreen), который был нажат, используяNavigationBar PushViewController не работает

SelectionScreen *aSelectionScreenViewController =[[SelectionScreen alloc]initWithNibName:@"SelectionScreen" bundle:nil]; 
self.navigationController pushViewController:aSelectionScreenViewController animated:YES] 

[aSelectionScreenViewController release]; 

Это работает нормально. Но теперь проблема связана с этим классом. Этот класс фактически содержит еще один класс под названием SelectionScreenTable. Таким образом, архитектура будет как этот SelectionScreen -SelectionScreenTable

Так что теперь в методе didSelectRow из SelectionScreenTable.m файла я попытался толкая другой класс (класс называется Graph.h), но он не работает, код я использование в точности совпадает с приведенным выше.

Так что я попытался нажать на график в самом начале mainFlow приложения, просто чтобы увидеть, работает ли мой код или неправильно, и да, его работа.

Так что мне было интересно, как я могу это решить? Обнаружение суперкласса, а затем нажмите вид в супервизор? IM A OBJ-C newb, хотя коды и примеры были бы приятными. Любые идеи? спасибо за чтение btw

+0

Есть ли проблема с моим SelectionScreen? SelectionScreen содержит SelectionScreenTable, добавляя его как подвью. Так я сделал мой SelectionScreen «удержанием» SelectionScreenTable – Kenneth

+0

SelectionScreen.m SelectionScreenTable * aSelectionScreenTableViewController = [[SelectionScreenTable alloc] initWithNibName @ "selectionScreenTable" bundle: nil]; aSelectionScreenTableViewController.view.bounds = CGRectMake (0,0,896,613); aSelectionScreenTableViewController.view.center = CGPointMake (576,380); [self.view addSubview: aSelectionScreenTableViewController.view]; – Kenneth

ответ

0

Я решил его, используя вместо этого переходную анимацию. ,

GraphView *viewController =[[GraphView alloc]initWithNibName:@"GraphView" bundle:nil]; 
    viewController.view.transform = CGAffineTransformMakeRotation(-3.14 *(0)/180.0); 
    viewController.view.bounds = CGRectMake(0,0,1025,769); 
    viewController.view.center = CGPointMake(512.5, 374.5); 

    UIView *theCurrentView = self.view; 
    UIView *theWindow = [theCurrentView superview]; 
    [theCurrentView removeFromSuperview]; 
    [theWindow addSubview:viewController.view]; 

    CATransition *animation = [CATransition animation]; 
    [animation setDuration:0.35]; 
    [animation setType: kCATransitionPush]; 
    [animation setSubtype:kCATransitionFromTop]; 
    [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]]; 
    [[theWindow layer] addAnimation:animation forKey:@"SwitchToGraphView"]; 
    [viewController release]; 
Смежные вопросы