2014-10-26 7 views
0

В моем приложении я попытался нажать на XIB, используя событие long tap. Я сделал следующий код,Не могу нажать на XIB iOS

В viewDidLoad

UILongPressGestureRecognizer *longPress = [[[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPress:)]autorelease]; 
longPress.delegate = (id<UIGestureRecognizerDelegate>)self; 
[self.view addGestureRecognizer:longPress]; 
[longPress requireGestureRecognizerToFail:doubleTap]; 

и метод longPress является

- (void)longPress:(UILongPressGestureRecognizer*)gesture { 
if (gesture.state == UIGestureRecognizerStateEnded) { 
ProductDetailViewController *vc = [[[ProductDetailViewController alloc] initWithNibName:@"ProductDetailViewController" bundle:nil] autorelease]; 
[self.navigationController pushViewController:vc animated:YES]; 
    NSLog(@"Long Press"); 
} 

} У меня есть XIB имени ProductDetails.xib и я поставил File's Owner его как ProductDetailViewController.

Когда я запускаю этот код NSLog работает. Но это не будет ProductDetails.h. А также ошибок нет. Как я могу это исправить? Любой может помочь мне в этом.

Спасибо заранее!

ответ

1

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

ProductDetailViewController *vc = [[[ProductDetailViewController alloc] init] autorelease]; 
[self.navigationController pushViewController:vc animated:YES]; 
+0

не работает. – codebot

+0

Возможно ли, что navigationController равен нулю? Если нет, попробуйте удалить ProductDetailViewController и повторно добавить его, когда вы добавите его, включите файл xib. – gabbler

+0

навигационный контроллер nil. – codebot

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

  • Нет связанных вопросов^_^