2014-10-30 2 views
1

Я хочу переместить один экран на следующий и код для него, но его не перемещать на следующем экране при нажатии кнопки. Какая проблема в этом коде.мой экран не перемещает следующий экран на кнопках в iOS?

Я хочу переместить один экран в следующий и код для него, но его не перемещать на следующем экране при нажатии кнопки. Какая проблема в этом коде.

smsDisplayViewController.h 

@interface smsDisplayViewController : UIViewController<UITextFieldDelegate> 
{ 

UIButton *btncomment; 

} 

- (IBAction)btncomment:(id)sender; 


@property(strong,nonatomic)UIButton *btncomment; 

@end 


smsDisplayViewController.m 

@implementation smsDisplayViewController 
@synthesize smsdisplay,Id,btncomment; 

- (IBAction)btncomment:(id)sender 
{ 
    CommentScreenViewController *viewController = [[CommentScreenViewController alloc] 
                initWithNibName:@"CommentScreenViewController" bundle:nil]; 

    [self.navigationController pushViewController:viewController animated:YES]; 
    NSLog(@"btn press"); 
} 

[btncomment addTarget:self action:@selector(btncomment:) 
    forControlEvents:UIControlEventTouchUpInside]; 

Я хочу переместить один экран в следующий и код для него, но не двигаться дальше на следующем экране при нажатии кнопки. Я хочу переместить один экран в следующий и код для этого, но не двигаться дальше на следующем экране при нажатии кнопки.

+1

Вы подтвердили, что self.navigationController не ноль? – Sbhklr

+0

да, но его не работает. тот же код i m реализовал другой экран, и его различие в работе заключается в том, что я нажимаю на ячейку, а вот кнопку –

+0

@ChetanGharat, ваша консоль записывает сообщение '@" btn press "'? – holex

ответ

0

Я думаю, что ваш само не navigationController, поэтому свойство

self.navigationController 

Возвращает NIL!

Если вы хотите, вы можете переключаться между контроллером без навигационного контроллера с помощью раскадровки или представления новых контроллеров модально:

UIViewController *newViewController = [[UIViewController alloc] init]; 
[self presentViewController: newViewController animated: YES completion: nil]; 
+0

его не работает мой друг –

+0

Я использую nib-файл, а не раскадровку –

+0

В методе IBAction вы представили контроллер по модулю, как я уже говорил? Однако я думаю, что ваш метод btncomment никогда не будет вызван! Вы заметили журнал в консоли? –

1

Если вы не хотите использовать NavigationController, то используйте следующий код

- (IBAction)btncomment:(id)sender 
{ 
    CommentScreenViewController *nextViewController = [[CommentScreenViewController alloc] initWithNibName:@"CommentScreenViewController" bundle:nil]; 
    [self presentViewController:nextViewController animated: YES completion: nil]; 
} 
+0

sry его тоже не работает, его можно переместить один файл nib другому, потому что я делаю это в этом примере –

+2

Проясните, используете ли вы NavigationController или нет ... –

+0

с использованием навигационного контроллера –

Смежные вопросы