2012-03-28 13 views
0

私はUINavigationBar's rightBarButtonItemに配置されたUIButtonを持っています。 UIButtonが表示されません。そのため、ビューではUINavigationBar's rightBarButtonItemのみが表示されます。 rightbarbuttonitemのクリックで、私は隠されたUIButtonのアクションをトリガーしたいと思います。出来ますか。もしそうなら、どうですか?UIBarButtonItemのアクションで非表示のUIButtonのイベントをトリガーする方法

編集:セレクタを使用せずにこれを行う方法はありますか?アクションのようなUIBarButtonItemのクリックでUIButtonアクションをトリガできる場所はありますか?UIButton.action

答えて

0

UButtonをタッチすると、rightBarButtonItemがタッチされたときに呼び出されるメソッドを呼び出すことができます。

-(IBAction)rightBarButtonTrigger:(id)sender { 
    NSLog(@"rightBarButtonTrigger"); 
    [self uiButtonTrigger:sender]; 
} 

-(IBAction)uiButtonTrigger:(id)sender { 
    NSLog(@"uiButtonTrigger"); 
} 
+0

私はUIButtonをプログラムで作成しています –

+0

この場合、同じコードを使用できます。セレクタを使用したくないという特定の理由はありますか? UIButtonはUIControlからアクションを継承します。 UIButtonを作成するとき、またはUIControlのaddTarget:action:forControlEvents:メソッドを使用するときにアクションを設定できます。アクションはセレクタを取ります。 – Nate

+0

UIBarButtonItemアクションをnilとして設定し、プログラムでUIButtonアクションをトリガできる方法はありますか。 –

0

あなたはあなたの両方のボタンrightBarButtonItemUIButtonのための一般的な方法を書くことができます。したがって、彼らはクリックイベントで同じメソッドを起動します。

1

UIBarButtonItemのアクションをトリガーするには、次のコードを試してください。しかし、あなたはこれで使用セレクターを持っています!

- (void) viewDidLoad 
    { 
     // change the back button and add an event handler 
     self.navigationItem.leftBarButtonItem = 
     [[UIBarButtonItem alloc] initWithTitle:@"Pages" 
             style:UIBarButtonItemStyleBordered 
             target:self 
             action:@selector(handleBack:)]; 
    } 

    - (void) handleBack:(id)sender 
    { 
     // do your custom handler code here 

     // make sure you do this! 
     // trigger an hidden button 
[itsHiddenButton sendActionsForControlEvents: UIControlEventTouchUpInside]; 

    } 

。これが役に立ちますようお願いいたします..

関連する問題