2016-10-08 17 views
0

나는 콜렉션 뷰 컨트롤러에 텍스트 필드가 있으며, 셀에있는 버튼을 눌러 호출 할 수 있기를 원합니다. 셀 내에서 해당 텍스트 필드 firstResponder()를 만드는 방법이 있습니까?셀 스위프트 내의 버튼을 터치하여 텍스트 필드를 편집하는 방법

+0

컬렉션보기에 몇 개의 섹션이 있습니까? – BJHStudios

+0

저는 단지 1 –

+0

에 몇 가지 다른 질문이 있다고 생각합니다. 올바른 방향으로 가고 있는지 확인하기 위해서입니다. 셀의 텍스트 필드이거나 collectionView 외부에있는 뷰 컨트롤러의 속성일까요? – BJHStudios

답변

0

좋아요. 그래도 작동합니다.하지만 얼마나 효율적인지 알 수 없으므로 누구나 더 나은 방법을 알고 있으면 답변을 게시하고 하루 또는 2 시간 후에 가장 좋은 답변을 선택합니다. 내가 사용 : 나는 asyncdisplaykit를 사용하고 있지만 확실하지, 한 번에 한 단계를 두 번 대신해야하지 않는 한 수퍼가, 같은 일을해야하기 때문에이 "슈퍼 노드"라고

button.addTarget(self.supernode, action: #selector(CollectionViewController.buttonTapped), forControlEvents: .TouchUpInside) 

이유입니다. 어쨌든이 함수를 사용하여 main view 컨트롤러에서 buttonTapped()이라는 함수를 실행했습니다.

func buttonTapped(sender: ASButtonNode) { 
     self.txtField.becomeFirstResponder() 
    } 

uikit 또는 storyboard 또는 w/e를 사용하는 경우에도 node를 다시 view로 대체하십시오. 성능이 중요하기 때문에 이것이 "적절한"방법이 아니라면 알려주십시오.

+0

맞습니다. 일반적으로 보낸 사람은 UIButton이됩니다 – BJHStudios

+0

이 ASButtonNode의 용도는 무엇입니까? 왜 거기에 넣을까요? –

+0

AsyncDisplayKit을 사용하고 있으며 뷰 대신 노드를 사용하므로 UIKit/Storyboard를 사용하는 경우 "노드"라는 단어를 "보기"로 바꿉니다. 나는 그 대답에 두 번 롤 .. 언급 한 것 같아요 –