перейти на новую страницу при нажатии кнопки в iPhone

Я новичок в iPhone Developer.

я хочу перейти на новую страницу с анимацией, но не могу перейти на новую страницу,

Вот мой фрагмент кода,

UIButton *Planbtn = (UIButton *)[self.view viewWithTag:1];
    [Planbtn addTarget:self action:@selector(btnClicked) forControlEvents:UIControlEventTouchUpInside];

..

-(void)btnClicked{
    NSLog(@"btnClicked");

    PlanPage *yourViewController = [[PlanPage alloc] initWithNibName:@"PlanPage" bundle:[NSBundle mainBundle]];
    [self.navigationController pushViewController:yourViewController animated:TRUE];
    [yourViewController release];
}

я могу видеть btnClicked в своем журнале.

Заранее спасибо!


person Krunal    schedule 16.06.2012    source источник
comment
вам нужно будет связать btnClicked с выходом событий вашего интерфейса   -  person Omar Abdelhafith    schedule 16.06.2012
comment
опубликуйте более подробную информацию, вы также реализуете UINavigationController?   -  person Adil Soomro    schedule 16.06.2012
comment
Я полагаю, вы связали свой iBoutlet, если видите NSLog. Так что, возможно, ваш navigationController равен нулю, потому что он не инициализирован.   -  person Valerio    schedule 16.06.2012
comment
см. мое редактирование, я добавил только эту часть кода в свой проект, мне нужно добавить что-то еще?   -  person Krunal    schedule 16.06.2012
comment
Важно знать, есть ли у вашего rootViewController контроллер навигации. Вы можете иметь приложение с ним или без него, поэтому вполне возможно, что ваше приложение не основано на навигации.   -  person Valerio    schedule 16.06.2012
comment
мое приложение основано на просмотре, а не на навигации   -  person Krunal    schedule 16.06.2012


Ответы (2)


Запишите эти свойства в файл AppDelegate.h

@property (strong, nonatomic) YourFirstViewController *yourFirstController;
@property (nonatomic, retain) UINavigationController *navigationControl;

Запишите этот код в файл AppDelegate.m

  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {

        self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
        self.yourFirstViewController = [[YourFirstViewController alloc] initWithNibName:@"YourFirstViewController" bundle:nil]];
        navigationController = [[UINavigationController alloc] initWithRootViewController:self.yourFirstViewController];
        [self.window addSubview:[navigationController view]];
        [self.window makeKeyAndVisible];
        return YES;
    }

Я думаю, это будет полезно для вас.

person Prasad G    schedule 16.06.2012

Поскольку ваше приложение основано на представлении, вы не можете нажать на контроллер, самое простое:

PlanPage *yourViewController = [[PlanPage alloc] initWithNibName:@"PlanPage" bundle:[NSBundle mainBundle]];
[self.view addSubView:yourViewController.view];
[yourViewController release];

Если вы хотите анимировать его, боюсь, вам придется либо реализовать анимацию самостоятельно, либо добавить контроллер навигации, который сделает эту работу за вас.

person Valerio    schedule 16.06.2012