2011-01-13 8 views
0

私は自分のアプリケーション私はこのようなNavigationBarにボタンを追加した。..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のシャットダウン」とは、クラッシュするという意味ですか?もしそうなら、クラッシュログを投稿してください。 –

+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 *より= [[UIBarButtonItem ALLOC] initWithCustomView:myButtonという]。 self.navigationItem.rightBarButtonItem =詳細;

はそれが役立ちます:)

+0

ここにクラッシュログを投稿してください: – Fatema

+0

クラッシュログ情報 - [RootViewController SelectMission]:インスタンスに送信された認識できないセレクタ0x6a23250 2011-01-12 21:06:45。理由: '[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というメソッドを実装していません。これは1つの引数をとります。 @selectorキーワードに関する重大な注意点:

1)大文字小文字を区別する。実装するメソッドがSelectMission:であることを確認してください。選択肢:、選択:、選択:等

2)引数。コロンは、メソッドSelectMissionが1つの引数を取ることを示します。それを実装して引数を忘れた場合は、あなたが投稿した例外がクラッシュします。

これは、問題の絞り込みに役立ちます。