2013-09-12 3 views
-1

Мое приложение разбивается, когда я пытаюсь нажать на контроллер вида. Это происходит только тогда, когда мы пытаемся перейти на другую страницу (push и presentModal). И я также проверил IBOutlets и другие соединения в контроллере, где он должен быть нажат. Но не может найти подсказки. Вот мой код, где я нажим:Сбой при нажатии на viewcontroller - Objective c

PhoneBookView *phoneBook = [[PhoneBookView alloc] initWithNibName:@"PhoneBook" bundle:[NSBundle mainBundle]]; 

[self.navigationController presentModalViewController:phoneBook animated:YES]; 
+1

показать мне сообщение журнала, что он говорит ... –

+0

Является ли PhoneBookView видом или контроллером? – Eiko

+0

@umersufyan Он ничего не говорит. Даже он не показывает -lldb в консоли при сбое. –

ответ

0
PhoneBookView *phoneBook = [[PhoneBookView alloc] initWithNibName:@"PhoneBook" bundle:[NSBundle mainBundle]]; 

[self.navigationController presentModalViewController:phoneBook animated:YES]; 

использовать контроллер

PhoneBookView *phoneBook = [[PhoneBookView alloc] initWithNibName:@"PhoneBook" bundle:[NSBundle mainBundle]]; 

[self presentModalViewController:phoneBook animated:YES]; 

код присутствует вид и нажать контроллер

PhoneBookView *phoneBook = [[PhoneBookView alloc] initWithNibName:@"PhoneBook" bundle:[NSBundle mainBundle]]; 

[self.navigationController pushViewController:phoneBook animated:YES]; 
+0

. Я его проверил, а «Телефонная книга» - это правильное имя xib, но его все еще сбой. –

+0

Я отредактировал свой ответ, пожалуйста, посмотрите – Vinodh

1

взгляд для вас информацию 'presentModalViewController:animated:' is deprecated: first deprecated in iOS 6.0

попробовать это:

PhoneBookView *phoneBook = [[PhoneBookView alloc] initWithNibName:@"PhoneBookView" bundle:[NSBundle mainBundle]]; 
[self.navigationController presentViewController:phoneBook animated:YES completion:nil]; 
+0

Мое имя xib - «Телефонная книга», поэтому мне не нужно использовать initWithNibName как «PhoneBookView». –

-2

Попробовать После:

PhoneBookView * PHONEBOOK = [[PhoneBookView Alloc] initWithNibName: @ расслоении "PhoneBookView": [NSBundle mainBundle]];

+0

Мое имя xib - «Телефонная книга», поэтому мне не нужно использовать initWithNibName как «PhoneBookView». –

0
PhoneBookView *phoneBook = [[PhoneBookView alloc] initWithNibName:@"PhoneBook" bundle:[NSBundle mainBundle]]; 
UINavigationController *nav=[[UINavigationController alloc]initWithRootViewController:phoneBook]; 

[self.navigationController presentModalViewController:nav animated:YES]; 

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

Happy кодирование ...

0

[self.navigationController presentModalViewController:phoneBook animated:YES]; Этих метод является устаревшим

Вместо этого вы можете использовать

[self presentViewController:<#(UIViewController *)#> animated:<#(BOOL)#> completion:<#^(void)completion#>] 

self presentViewController:phoneBook animated:YES completion:nil] 
0

Вы можете попробовать это, нет необходимости указывать сверток,

PhoneBookView *phoneBook=[[PhoneBookView alloc] initWithNibName:@"PhoneBook" bundle:nil]; 

[self.navigationController pushViewController:phoneBook animated:YES]; 
+0

Я тоже это пробовал. Но его не работает –

0

Reset IOS симулятор, бросить Xcode и перезапустить его, позволяет увидеть, если это поможет вам, это, кажется, не ваша вина кода, но Xcode или имитатор один.

+0

Я попробовал, но все равно остается тем же. –

+0

Я попытался выполнить исключение с помощью try и catch блоков и напечатал исключение и его регистрацию как «Не удалось загрузить NIB в комплекте: NSBundle (загружен) 'с именем «Телефонная книга» ». но у меня есть xib по имени PhoneBook. Пожалуйста, помогите мне @umersufyan –

+0

пришлите мне свой пример кода. Все, что я знаю, ваш xib-файл не привязан к файловому владельцу этого класса. –

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