2016-08-26 3 views
0

탭 제스처 인식기를 첨부 한 이미지가있는 테이블 뷰 셀이 있습니다.TapViewCell.swift에 탭 제스처 인식기 추가

두 개의 레이블과 이미지가있는 Table View의 TableViewCell 프로토 타입 이미지.

enter image description here

I Ctrl 키와 TableViewCellController, TableViewCell 파일이나 다른 파일에 탭 제스처 인식기를 끌어 시도, 그것은 나를 못하게 : 상단에 탭 제스처 인식기 로고가있다.

그러나 다른보기에서는 테이블보기가 아니므로 정상적으로 작동합니다. 나는 스위프트를 처음 보았습니다. 아무도 왜 이런 일이 일어나고 있는지, 그리고 내가 그것을 도울 수있는 것은 무엇인지 알 수 있습니까? ( 버튼을 대신 사용할 수는 있지만 그걸 전혀 배울 수는 없을 것입니다.)

TableViewCellTableViewCellController 파일 모두 기본 코드가 있습니다.

편집 : 사용자가 이미지를 탭하여 테이블 셀의 클래스에있는 Int 속성에 +1을 추가 할 수있게하고 싶습니다. 클래스의 UILabels 중 하나와 셀이 업데이트됩니다. 이것은 정상적인보기에서 문제없이 달성 할 수 있고 테이블보기에서 달성하고자하는 종류의 행동입니다.

+0

스왑 셀 메뉴가 필요합니까? – NinjaDeveloper

+0

@NinjaDeveloper 잘 모르겠습니다. 나는 그것이 무엇을 성취 할 것인지 모른다. 이미지를 두 드릴 때 테이블 셀의 클래스에있는 Int 속성에 +1을 추가합니다. – Weirdali

+0

@Weirdali는 이미지가있는 단추가 필요한 것처럼 보입니다. 그냥 단추를 사용하여 사용자 지정 셀을 만들고 사용자 지정 셀에 단추 콘센트를 연결하십시오. –

답변

5

UITableViewCell의 경우 다른 사람과 달리 프로토 타입 셀이기 때문에 스토리 보드를 통해 UITapgesture을 추가 할 수 없습니다. 당신은 정말이 같은 위임에 프로그래밍 방식으로 할 수있는 수행 할 경우

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = self.tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell 
    let tapGesture = UITapGestureRecognizer(target: self, action: "SomeMethod") 
    cell.myImageView.addGestureRecognizer(tapGesture) 

    return cell 
} 

을하지만 당신은 그렇게 할 이유는 알 수 없습니다. 셀을 탭할 때 무언가를 수행하거나 일부 기능을 호출하려는 경우 didSelectRowAtIndexPath을 사용해야합니다.

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    print("cell at #\(indexPath.row) is selected!") 
} 
+0

UITapGesture를 프로토 타입 셀에 추가 할 수는 없지만 항상 프로토 타입 셀이 아닌 것은 아닙니까? 개별 뷰가 작동하는 것과 같은 방식으로 테이블 셀에 기능을 추가하려고합니다.이 작업은 전체가 아닌 특정 부분의 셀을 탭하는 작업입니다. 그래서 didSelectRowAtIndexPath는 내가 원하는 것을 할 것 같지 않습니다. 내가 너를 잘못 이해하면 미안해. – Weirdali

+0

'return UITableViewCell()'대신'return cell'을 사용 하시겠습니까? – NSNoob

+0

@ NSNoob, 네, 맞습니다. 그것을 업데이트했습니다. –