2017-03-22 5 views
-1

私はこれを解決する方法を探していましたが、私にはうまくいかないものを見つけることができませんでした。 iOSの1つのUIButtonに対して2つのアクションを実行する方法uitableviewの1つのボタンに対して2つのアクションを与える方法は?

私のアプリには「ログインユーザー」と「ゲストユーザー」が含まれています。

  • ログインユーザーがUITableViewの質問ボタンをクリックすると、1つのコントローラに移動します。 「ゲストユーザは」UITableView問合せボタンに付属している場合
  • ポストログインに別のコントローラ
+1

ように試みることができますか? –

+0

ブール値を設定してください。ユーザーがログインしている場合は、boolをyesに設定します。ボタンには、それがある場合であれば(appLoginType ==あなたがタグオープンVC –

+0

セットタグにナビゲートすることができますので、それはゲストユーザではありませんあなたが望むはいコントローラに移動している場合にbool値をチェックしIBAction AMGuestLogin) {[projectListCell.enquireButton addTarget:自己アクション:@selector(navigateToEnquire :) forControlEvents:UIControlEventTouchUpInside]。 } { [projectListCell.enquireButton addTarget:自己アクション:@selector(問い合わせ:) forControlEventsを:UIControlEventTouchUpInside]。 } –

答えて

0

あなたは、あなたがより良い理解を得ることを試みているかを示すことができ、この

- (IBAction)navigateToEnquire:(id)sender { 

    NSLog(@"Button pressed: %@", [sender currentTitle]);  

    if ([[sender currentTitle] isEqualToString: @"login user"]) { 

     // do something 

    } else if ([[sender currentTitle] isEqualToString: @"guest user"]) { 

    // do something 

    } 

} 
+0

私はここでログインしていない仕事の過負荷のためにあなたの答えを使用して私の問題を長く後に解決しました – jeevan

+0

あなたのウェルカムジーバン –

0

に移動し、あなたは何であるか、ユーザーのタイプがログインしていることを知るようになる。それぞれのユーザタイプの移動に基づいて、 controller。あなたは本当に同じボタンに対して複数のアクションを設定する必要はありません。ボタンをクリックすると、ログインしたユーザータイプ(ゲスト/ログイン)を確認し、それぞれのコントローラーにプッシュします。

0

たとえば、テーブルビューセル内の各ボタンに対して、@selector()ボタンを設定することができます。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    . 
    //do stuff 
    . 

    [cell.buttonSave addTarget:self action:@selector(btnSaveTap:) forControlEvents:UIControlEventTouchUpInside]; 

    if ([user isequaltostring:login user]) 
    cell.buttonSave.tag = <tagNumber> 
    else 
    cell.buttonSave.tag = <anothertagNumber> 

    //do stuff 
    return cell; 
} 

は、あなたがこの

- (void)btnSaveTap:(UIButton *)sender { 

    //here you can check tag number for desired action 

    if(sender.tag ==tagNumber) // 
{ 
    // Navigate to login user 
} 
else 
{ 
// Navigate to Guest user 
} 
} 
0

の代わりに使用すると、ユーザのログインフラグに基づいてアクションを管理することができる2つのアクションの追加などのアクションメソッドを実装することができます。

つまり、ユーザーがログインユーザーの場合、isLoginフラグはtrueになります。それ以外の場合はfalseになります。

この場合、次のようにユーザーのデフォルトを使用できます。

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"isLogin"];//here yes if normal user and no if guest user. 
[[NSUserDefaults standardUserDefaults] synchronize]; 

ボタンをクリックすると維持できます。

- (void)btnclick:(UIButton *)sender { 

    //here you can check login flag 

if([[NSUserDefaults standardUserDefaults] boolForKey:@"isLogin"]){ 
    // Navigate to login user 
    } 
    else{ 
    // Navigate to Guest user 
    } 
} 
関連する問題