2009-05-17 7 views
4

UIButton의 하위 클래스를 만들어 iPhone에서 확인란을 사용할 수있게했습니다. 이 체크 박스는 서브 클래스 UITableViewCell의 일부입니다. 내 질문에 어떻게 단추를 눌렀을 때 작업을 첨부하고 해당 메서드를 테이블보기 컨트롤러에서 구현할 수 있습니다?UITableViewCell의 사용자 지정 단추에서 동작을 트리거하는 방법

addTarget:action: 메서드를 사용해 보았지만 제대로 작동하지 않습니다. 한 가지 옵션은 App Delegate를 사용하는 것이지만 이것은 좋은 프로그래밍 실습이 아닙니다.

+0

대상으로 무엇을 넣었습니까? 작업을 실행하기 위해 이벤트를 추가 했습니까 (예 : 내부의 터치 업 또는 IBOutlet을 통해 연결)? – Jordan

+0

먼저 체크 박스가 UITableViewCell의 서브 클래스의 일부라고 말할 때, 당신은 무엇을 의미합니까? 너는 어떻게 추가하고 있니? 둘째로,'addTarget : action :'은 "작동하지 않는 것 같은 의미입니다." 나는 당신이'addTarget : action : forControlEvents :'를 여기 있다고 가정한다. 어떤 controlEvent를 전달하고 있습니까? 소량의 코드와 "작동하지 않는"것에 대한 자세한 내용은 여기에서 도움이 될 것입니다. –

답변

0

버튼이 터치 이벤트를 수신하는지 확인하십시오. 당신은 로그 무언가 또는 설정된 중 하나에 중단 점

- (BOOL)beginTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event 

또는

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 

를 재정 의하여이를 확인할 수 있습니다. 귀하의 버튼이 접촉을받지 못한다면 (나는 생각하지 않습니다) TableView에 exclusiveTouch을 설정하고 TableViewCell을 NO로 설정하십시오.

+0

하지만 그것은 걸립니다. 조금 이상합니다. –

2

글쎄, 나는 동일한 기능을 구현했다. 여기에 제가 구현 한 방법이 있습니다.

  1. 사용자 정의 셀을 만들었습니다.

  2. 버튼 클래스는 셀 클래스에서만 구현됩니다.

  3. 셀의 프로토콜 (CustomCellDelegate)을 선언하고 & 셀의 대리인 (CustomCellDelegate) 속성을 만듭니다.

  4. cellForRowAtIndexPath : 테이블보기 컨트롤러의 메소드는 셀의 속성을 위임하기 위해 테이블보기 컨트롤러 (자체)를 설정합니다.

  5. 보기 컨트롤러에 대리자를 구현합니다.

  6. 셀의 단추 동작 메서드에서 대리자 메서드를 호출합니다.

이해했는지 또는 일부 코드를 게시해야하는지 알려주세요.

+0

나를 위해 일했다 :) 고마워! (너무 나쁘다 나는 당신의 대답을 올바른 것으로 설정할 수 없다) – Gilad

+0

당신을 도울 수있어서 기쁩니다 :) –

관련 문제