2011-01-13 9 views
0

I i meine Anwendung haben Taste in navigationbar wie diese hinzugefügt ..iPhone/iPad - Probleme mit der Navigationsleiste?

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

self.navigationItem.rightBarButtonItem = more; 

Wenn ich auf die Schaltfläche Herunterfahren der Anwendung erhalten, klicken bin ...

Wenn ich mit normalen Taste gleiche Sache tue es funktioniert gut Kann mir irgendjemand helfen, warum es sich so verhält?

+0

Mit "Get's Shutdown" meinst du es stürzt ab? Wenn ja, könnten Sie bitte das Unfallprotokoll posten. –

+0

Überprüfen Sie die SelectMission-Methode oder legen Sie Code und Crash-Protokoll hier ab. – Ishu

+0

Absturzprotokollinfo - [RootViewController SelectMission]: unerkannter Selektor, der an Instanz 0x6a23250 gesendet wurde 2011-01-12 21: 06: 45.428 TestApplication [1989: 207] * App aufgrund der nicht abgefangenen Ausnahme 'NSInvalidArgumentException' beenden, Grund: '- [RootViewController SelectMission ]: unerkannter Selektor an Instanz 0x6a23250 gesendet – user532445

Antwort

0

Probieren Sie diese

UIImage * i = [UIImage imagenamed: @ "search-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 * mehr = [[UIBarButtonItem alloc] initWithCustomView: myButton]; self.navigationItem.rightBarButtonItem = mehr;

hoffe, es hilft :)

+0

Dann das Crash-Protokoll hier bitte :) – Fatema

+0

Absturzprotokoll Info - [RootViewController SelectMission]: unerkannter Selektor an Instanz 0x6a23250 2011-01-12 21:06:45 gesendet.428 TestApplication [1989: 207] * Beenden der App aufgrund der nicht abgefangenen Ausnahme 'NSInvalidArgumentException', Grund: '- [RootViewController SelectMission]: unerkannter Selektor an Instanz 0x6a23250 gesendet – user532445

+0

Ich vermute, Sie haben den Methodennamen SelectMission falsch eingegeben oder Sie haben keine Argumente an es. Wenn Sie keine Argumente haben, sollten Sie die letzten Doppelpunkte der Aktion entfernen: @selector (SelectMission :). Verwenden Sie einfach die Aktion: @selector (SelectMission) – iruleonu

0

Haben Sie in den Code für SelectMission: gesucht? Der Code, den du gepostet hast, dient nur dazu, die Schaltfläche zu präsentieren, die deiner Beschreibung zufolge zu funktionieren scheint.

Auch wenn etwas in die Konsole geworfen wird (Command-Shift-R)?

+0

Absturzprotokollinfo - [RootViewController SelectMission]: Unerkannter Selektor an Instanz 0x6a23250 gesendet 2011-01-12 21: 06: 45.428 TestApplication [1989: 207] * App aufgrund der nicht abgefangenen Ausnahme 'NSInvalidArgumentException' beenden , Grund: '- [RootViewController SelectMission]: unerkannter Selektor an Instanz 0x6a23250 gesendet – user532445

+0

Der SelectMission-Aufruf in Ihrem Absturzprotokoll hat keinen Doppelpunkt, aber in Ihrem ursprünglichen Beispiel. Akzeptiert es ein Argument? –

0

durch das Crash-Protokoll in Ihrem Kommentar zu urteilen, würde ich sagen, dass dies nichts mit der UIBarButtonItem Klasse insbesondere zu tun, und alles, was mit dem Action-Handler zu tun. Die Absturzprotokolle erzählen die ganze Geschichte: Ihre Klasse implementiert keine Methode namens SelectMission: das braucht ein Argument. Einige Einschränkungen bezüglich des @ selector-Schlüsselworts, das Sie überprüfen möchten:

1) Großschreibung. Stellen Sie sicher, dass die von Ihnen implementierte Methode SelectMission: ist. Nicht selectMission :, selektion :, Selektive:

2) Argumente. Der Doppelpunkt zeigt an, dass die Methode SelectMission: ein Argument benötigt. Wenn Sie es implementiert haben und das Argument vergessen haben, stürzt es mit der Ausnahme ab, die Sie gepostet haben.

Das sollte helfen, das Problem einzugrenzen.