2011-05-07 5 views
0

UITableViewController, 섹션 및 행을 묶어서 각 행에 대해 하위 뷰로 UITextField를 추가하고 행 자체에서 오른쪽으로 정렬했습니다.테이블 뷰 안의 UITextField를 스크롤 할 수 있도록 표시

사용자가 행을 탭하면 로컬로 indexPath를 저장하고 해당 텍스트 필드를 첫 번째 응답자로 만들고 마침내 키보드가 나타나면 행을 볼 수 있도록 테이블 뷰 스크롤을 만듭니다.

사용자가 텍스트 필드를 대신 누르면 동일한 문제가 발생합니다. 이 경우 didSelectRowAtIndexPath : 메서드가 호출되지 않으므로 테이블 뷰에 스크롤하여 "선택된"행이 여전히 표시되는지 확인하는 방법을 알지 못합니다.

아마도 전체 프로세스가 올바르지 않습니다. 그것을 해결하는 방법을 알고 있습니까?

고맙습니다. UITextFieldNO에의 userInteractionEnabled 속성을 설정

답변

1
이것에 대해 절대적으로 확실하지 않다

,하지만 ...

. 이렇게하면 터치가 UITableViewCell을 두드려 컨트롤을 "통과"합니다. didSelectRowAtIndexPath:이 호출되면 UITextFielduserInteractionEnabled 속성을 YES으로 설정하십시오. 편집이 완료되면 NO으로 다시 변경하십시오.

+0

좋습니다. 분명히 그런 식으로 작동합니다. 이상한 방법으로 키보드를 닫을 경우 (예 : 다른 컨트롤을 터치하거나 탭 막대보기를 전환하는 등) UITextFields를 yes로 설정된 userInteractionEnabled 플래그로 남겨 둘 수 있습니다. – marzapower

+0

'UITextFieldDelegate' 메서드'textFieldDidEndEditing :'을 구현하고 거기에'userInteractionEnabled'를'NO'로 설정하면 그 일은 일어나지 않습니다. –

+0

고맙습니다, 확실히 작동 할 것입니다! – marzapower

관련 문제