2011-01-13 4 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; 

내가 버튼 애플리케이션 GET의 종료를 클릭하고 ...

는 내가 그것을 잘 작동의 정상적인 버튼과 같은 일을하고있는 경우 왜 이런 식으로 행동하는지 아무도 도와 줄 수 없나요?

+0

"종료 처리"란 충돌이 발생 했습니까? 그렇다면 충돌 로그를 게시 할 수 있습니까? –

+0

SelectMission 메소드를 확인하거나 여기에 코드 및 오류 로그를 넣으십시오. – Ishu

+0

크래시 로그 정보 - [RootViewController SelectMission] : 인식 할 수없는 선택기가 인스턴스로 전송 됨 0x6a23250 2011-01-12 21 : 06 : 45.428 TestApplication [1989 : 207] * 캐치되지 않은 예외로 인해 앱 종료 중 'NSInvalidArgumentException', 이유 : '- [RootViewController SelectMission ] : 인스턴스로 전송 된 인식 할 수없는 선택기 0x6a23250 – user532445

답변

0

있는 UIImage 시도 * I = [있는 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 * more = [[UIBarButtonItem alloc] initWithCustomView : myButton]; self.navigationItem.rightBarButtonItem = 더보기;

이 도움이 :)

+0

크래시 로그를 게시 하시려면 여기를 클릭하십시오. – 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 메서드가 하나의 인수를 취하는 것을 나타냅니다. 인수를 구현하고 인수를 잊어 버린 경우 게시 한 예외로 인해 충돌이 발생합니다.

문제의 범위를 좁히는 데 도움이됩니다.

관련 문제