2017-03-22 9 views
-1

나는이 문제에 대한 해결책을 찾기 위해 주변을 둘러 보았지만 나에게 적합한 해결책을 찾지 못했습니다. iOS에서 하나의 UIButton에 두 가지 작업 수행 방법 목표 Cuitableview에서 하나의 버튼에 두 가지 동작을 부여하는 방법은 무엇입니까?

내 앱에 "로그인 사용자"와 "게스트 사용자"가 포함되어 있습니다.

  • 로그인 사용자가 오는 경우 UITableView 문의 버튼이 하나의 컨트롤러로 이동합니다. "게스트 사용자는"UITableView 문의 버튼에 오면
  • 후 로그인에 다른 컨트롤러
+1

같은 시도 할 수 있습니다? –

+0

bool 값을 설정하십시오. 사용자가 로그인 한 경우 bool을 yes로 설정하십시오. 단추 IBAction에서 bool 값이 yes이면 확인하십시오. 원하는 컨트롤러로 이동합니다. 컨트롤러가 아니오이면 게스트 사용자이므로 다른 컨트롤러로 이동할 수 있습니다. –

+0

태그 기반의 buton에 대한 태그 설정 VC –

답변

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

welcome jeevan –

0

로 이동, 당신은 어떤 사용자의 유형에 기록되어 있음을 알 수. 각각에 대한 사용자 유형의 이동을 기반으로 controller. 같은 버튼에 대해 여러 액션을 설정하지 않아도됩니다. 버튼을 클릭하면 로그인 한 사용자 유형 (게스트/로그인)을 확인하고 해당 컨트롤러를 누릅니다.

0

예 : tableview 셀의 각 버튼에 대해 @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

처럼 자사의 액션 메소드를 구현할 수 있습니다 추가합니다.

즉 사용자가 로그인 사용자이면 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 
    } 
}