귀하의 의견에 따르면 이미 자신의 버튼을 만들고 셀의 accessoryView
으로 설정하고 있습니다. 버튼을 만들 때
, 당신의 체크 표시 이미지를 선택한 상태에 대한 자사의 이미지를 설정 :
: 버튼을 탭하면, 그것은 확인 표시가 표시됩니다 있도록 선택에 그 상태를 설정
[button setImage:checkmarkImage forState:UIControlStateSelected];
- (IBAction)buttonWasTapped:(id)sender event:(UIEvent *)event {
UIButton *button = sender;
button.selected = YES;
그런 다음, 사용자가 지연 동안 다른 작업을 수행 할 수 있도록 해제 사용자 상호 작용 :
[[UIApplication sharedApplication] beginIgnoringInteractionEvents];
은 터치 버튼을 포함하는 셀의 인덱스 경로를 가져옵니다 :
마지막으로
UITouch *touch = [[event touchesForView:button] anyObject];
NSIndexPath *indexPath = [tableView indexPathForRowAtPoint:
[touch locationInView:tableView]];
가 지연 후 실행 블록을 예약합니다. 블록에서 사용자 상호 작용을 재 활성화하고 자신 인덱스 경로를 포함하는 메시지 보내
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.5 * NSEC_PER_SEC),
dispatch_get_main_queue(),
^{
[[UIApplication sharedApplication] endIgnoringInteractionEvents];
[self accessoryButtonTappedForRowAtIndexPath:indexPath];
});
}
@GabrielePetronella를 사용할 수 있습니다. 나는이 [링크] (http://iphonedevsdk.com/forum/iphone-sdk-development/71147-change-disclosure-button.html)를 따라 갔다. –
사용자가 "그 반 동안 지연되면 두 번째 "? –
@robmayoff 아무 것도 정말로. 나는 사용자가 이미지의 변화를 인식 할 때까지 약간의 시간을 갖는 것으로 생각했다. –