2014-03-03 6 views
-4

셀을 클릭하고 싶습니다. 먼저 (보관 용 또는 일정 또는 알림 또는 기타) 계정을 연결하고 링크가 성공적이면 원하는 경우 셀 체크 표시. 내 문제는 체크 표시를 추가하기 위해 셀을 다시 탭해야하는 계정이 연결되었다는 것입니다. 셀에서 한 번 탭하면이 두 가지 작업을 수행 할 수 있습니까?이벤트 후 UITableViewCell을 업데이트하는 방법


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
UITableViewCell *cell=[tableView cellForRowAtIndexPath:indexPath]; 
if (![[DBSession sharedSession]isLinked]) { 
     [[DBSession sharedSession] linkFromController:self]; 
       if ([[DBSession sharedSession]isLinked]) 
        cell.accessoryType = UITableViewCellAccessoryCheckmark; 
} 

}

+1

이 코드? 왜 체크 마크 코드를 실행할 수 없습니까? 이것은 말이되지 않습니다. 코드 게시! –

+0

체크 표시를 직접 입력 할 수 없습니다. 예를 들어 사용자가 x를 클릭하면 동일한 체크 표시를하고 대신 문제가있는 경우 – Luca

+0

을 입력하지 않아도 로그인 페이지를 열면 dropbox에 연결하기 때문에 , 당신의 질문은 말이되지 않습니다. 동시에 2 개의 코드를 실행하는 방법을 묻는 중입니다. 나는 당신이 "Hpw UITableViewCell을 이벤트 후에 업데이트합니까"와 같은 뭔가를 묻는 것을 추측하고 있습니다. 이벤트는 사용자가 계정을 연결한다는 것입니다. 다시 볼 수 있도록 코드를 게시하십시오 –

답변

0

당신은 사용자가 자신의 계정에 연결되어 있는지 확인해야 콜백의 종류를 보지 않고. 내가 조언 할 수있는 유일한 방법은 viewDidAppear에 아래 코드를 실행하는 것입니다.

참고 viewDidAppear이 사용자에게 계정을 추가하는 화면이 표시된 후에도 실행되는지 확신 할 수 없으므로 잘 모르겠습니다. 왜냐하면 나는 어떻게 구현되는지 알지 못하기 때문입니다.

- (void)viewDidAppear:(BOOL)animated 
{ 
    // Check Dropbox 
    NSIndexPath dropboxIndex = [NSIndexPath indexPathForRow:1 inSection:0]; 
    UITableViewCell *cell=[tableView cellForRowAtIndexPath:dropboxIndex]; 
    if (![[DBSession sharedSession]isLinked]) { 
     [[DBSession sharedSession] linkFromController:self]; 
       if ([[DBSession sharedSession]isLinked]) 
        cell.accessoryType = UITableViewCellAccessoryCheckmark; 

    // Check calendar 
    // same as above 


    // Check reminder 
    // same as above 
} 

편집

당신은 우선이 볼 필요가있다. Dropbox SDK - linkFromController: delegate or callback?

위의 내용은 보관 용 계정이 연결되어 있음을 감지하는 방법입니다.

그런 다음 appDelegate이 성공적으로 메시지를 받으면 NSNotificationCenter을 사용하여 메시지를 화면에 보내고 위에서 준 코드를 실행하십시오.

+0

불행히도 작동하지 않습니다 – Luca

+0

도와주세요! – Luca

+0

@ 루카 (Luca) 나는 당신의 연구를 한 후에 나의 대답을 편집했습니다. 다음 번에는 자신의 문제를 해결하기위한 노력을 기울이거나 필요한 최소한의 코드를 모두 제공하여 사람들이 실제로이 문제를 이해할 수 있도록하십시오 –

1

셀을 처음 선택하면 셀에 체크 표시가되어 있고 다른 셀을 선택하면 다른 모든 셀은 선택 취소됩니다.

Didselect 메서드에이 코드를 넣습니다.

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 
cellStr = cell.textLabel.text; 
cell.accessoryType = UITableViewCellAccessoryCheckmark; 

넣어 Diddeselect 방법

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 
cell.accessoryType = UITableViewCellAccessoryNone;         
관련 문제