2011-01-13 2 views
0

я мое приложение я добавил кнопку в Панель навигации, как это ..iPhone/iPad - проблемы с кнопкой NavigationBar?

UIBarButtonItem *more=[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"search-25by25.png"] style:UIBarButtonItemStylePlain target:self action:@selector(SelectMission:)]; 

self.navigationItem.rightBarButtonItem = more; 

Когда я нажав на кнопку выключения программа получает в ...

Если я делаю то же самое с обычной кнопкой, что он работает нормально может ли кто-нибудь помочь мне, почему он так себя ведет?

+0

Под "get's shutdown" вы имеете в виду, что он падает? Если да, не могли бы вы разместить журнал сбоев. –

+0

проверьте метод SelectMission или введите код и журнал сбоев. – Ishu

+0

Информация о журнале сбоев - [RootViewController SelectMission]: непризнанный селектор, отправленный в экземпляр 0x6a23250 2011-01-12 21: 06: 45.428 TestApplication [1989: 207] * Завершение приложения из-за неперехваченного исключения «NSInvalidArgumentException», причина: '- [RootViewController SelectMission ]: непризнанный селектор, отправленный в экземпляр 0x6a23250 – user532445

ответ

0

Try This

UIImage * я = [UIImage imageNamed: @ "поиск-25by25.png"];

UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
    myButton.bounds = CGRectMake(0, 0, i.size.width, i.size.height);  
    [myButton setImage:i forState:UIControlStateNormal]; 
    [myButton addTarget:self action:@selector(SelectMission:) forControlEvents:UIControlEventTouchUpInside]; 

UIBarButtonItem * больше = [[UIBarButtonItem Alloc] initWithCustomView: MyButton]; self.navigationItem.rightBarButtonItem = больше;

надеюсь, что это помогает :)

+0

Thats сообщение авария здесь пожалуйста :) – Fatema

+0

Информация о сбое журнала - [RootViewController SelectMission]: нераспознанный селектор отправлен в экземпляр 0x6a23250 2011-01-12 21:06:45.428 TestApplication [1989: 207] * Завершение приложения из-за неперехваченного исключения «NSInvalidArgumentException», причина: '- [RootViewController SelectMission]: непризнанный селектор, отправленный в экземпляр 0x6a23250 – user532445

+0

Я предполагаю, что вы пропустили имя метода SelectMission или у вас нет аргументов Это. Если у вас нет аргументов, вы должны удалить последние двоеточия в действии: @selector (SelectMission :). Просто используйте действие: @selector (SelectMission) – iruleonu

0

Вы искали в коде для SelectMission:? Код, который вы опубликовали, предназначен только для представления кнопки, которая из вашего описания работает.

Также, если что-то сбрасывается в консоль (Command-Shift-R)?

+0

Информация о журнале сбоев - [RootViewController SelectMission]: непризнанный селектор, отправленный в экземпляр 0x6a23250 2011-01-12 21: 06: 45.428 TestApplication [1989: 207] * Завершение приложения из-за неперехваченного исключения «NSInvalidArgumentException» , причина: '- [RootViewController SelectMission]: непризнанный селектор, отправленный в экземпляр 0x6a23250 – user532445

+0

Вызов SelectMission в вашем журнале сбоев не имеет двоеточия, но в вашем исходном примере. Принимает ли он аргумент? –

0

Судя по логарифмическому аварии в свой комментарий, я бы сказал, что это не имеет ничего общего с классом UIBarButtonItem, в частности, и все, чтобы сделать с обработчиком действий. Аварийные журналы рассказывают всю историю: ваш класс не реализует метод SelectMission:, который принимает один аргумент. Некоторые оговорки в отношении ключевого слова @selector, которое вы хотите проверить дважды:

1) Капитализация. Убедитесь, что метод, который вы реализуете, - SelectMission :. Не выбраноМечение :, выбор :, Выбор: и т. Д.

2) Аргументы. Двоеточие указывает, что метод SelectMission: принимает один аргумент. Если вы его внедрили и забыли аргумент, он сработает с исключением, которое вы отправили.

Это должно помочь сузить проблему.

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