2014-09-07 2 views
0

폼 기반 응용 프로그램을 구축 중이며 시뮬레이터에서 하드웨어 mac 키보드를 사용하는 동안 표준 탭 키를 사용하여 테이블의 양식 필드 사이를 탭할 수 있습니다.시뮬레이터에서 uiTextFields를 탭핑합니다.

didReturn 메서드가 실행될 때 TextView에서이 기능을 호출 할 수있는 방법이 있습니까? 나는 비슷한 것을 얻기위한 다양한 방법으로 여기에 수많은 스레드를 보았습니다. 그러나 그들은 단지 TAB 키보드 명령을 실행하는 것과 비교하여 큰 루프를위한 뷰 태그를 사용하여 지나치게 복잡하고 부피가 큰 것처럼 보입니다.

답변

0

당신이해야 할 모든 nextTextField 첫 번째 응답자를 만들기 위해보기에 nextButton, 또는 inputAccessoryView 모든 textFields과 그 버튼의 코드를 작성의 selector에 설정됩니다.

이렇게하면 해당 탭 기능을 구현할 수 있습니다. 아시다시피, iPhone에는 탭 버튼이 없습니다.).

+0

나의 양식은 다음 텍스트 필드가 실제로 무엇인지 분명하지의 실행시에, 내가 생성 한 모델을 기반으로 테이블보기 내에서 생성된다. 이 코드를 추적하기 위해 코드를 작성할 수는 있었지만, 그게 부풀어 오르는 이야기입니다 ... 확실히 OS는 탭 버튼이 시뮬레이터에서 작동하는 것처럼 나를 추적하고 있습니다. 내 iPad ... –

+0

그 (것)들을 추가하고있는 동안 당신은 언제든지 꼬리표를 당신의 textFields에 강조 순서로 추가 할 수있다, 또는 tableview의 경우에 indexPath는 당신을 도울 것이다. – rptwsthi

+0

여러 섹션이있을 때 이것은 어려워 질 수 있습니다. 위에서 말했듯이 운영 체제는 탭 탭을 통해 키보드 탭을 멋지게 잘 아는 것처럼 보입니다 ... –

0

당신의 UITextField의 위임 방법을 통해 작업을 수행 할 수 있습니다

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    NSInteger nextTag = textField.tag+1; 
    UIResponder* nextResponder = [textField.superview viewWithTag:nextTag]; 
    if (nextResponder) { 
     [nextResponder becomeFirstResponder]; 
    } 
    else { 
     // Do what ever want to do for last textfield 
     [textField resignFirstResponder]; 
    } 
    return NO; 
} 

설정을 사용하면 텍스트 필드 태그, 순차적으로 & 세트 대리자를. 다음 텍스트 필드로 이동하려면 return 키를 누릅니다. 이 도움이

희망은 .. :)

+0

런타임에서 모델에서 생성되는 컨트롤의 복잡한 계층 구조가 있습니다 컨트롤은 다양한 테이블 섹션과 uiView 중첩 수준을 다양하게합니다 ... 태그를 설정해야하고 일정 수준에서이를 추적하는 것은 내가 피하고자했던 보풀입니다 ... OS는 이미 탭 버튼으로 이미 알고 있습니다 작품 ... –

+0

복잡한 계층 구조 컨트롤에 대해 더 자세히 이야기 해 주실 수 있습니까? 당신의 견해와 과정에 대해 토론하십시오. – Rashad

+0

나는 TextFields를 잠재적으로 포함하는 여러 개의 섹션이있는 TableView를 가지고 있으며, 텍스트 필드는 UIControl 하위 클래스에 포함되어 있으며 UIControls 내의 Textview는 UIviews 내에있을 수도 있습니다. –

관련 문제