Computer >> 컴퓨터 >  >> 프로그램 작성 >> IOS

iPhone/iOS 키보드에서 다음 버튼을 사용하여 모든 텍스트 필드를 살펴보는 방법은 무엇입니까?

<시간/>

완료 또는 반환 버튼을 탭하여 모든 텍스트 필드를 하나씩 살펴보려면 논리를 만들어야 합니다. 프로젝트의 도움으로 이해합시다.

  • 프로젝트를 만들고 뷰 컨트롤러 스토리 보드에서 4개의 텍스트 필드를 드래그합니다.

  • 그것들을 하나씩 선택하고 속성에서 인스펙터는 각각의 태그를 1,2,3,4로 설정합니다.

  • 또한 속성 검사기 자체에서 반환 키를 Done으로 설정합니다.

  • View 컨트롤러 클래스에서 4개의 모든 텍스트 필드에 대한 콘센트를 만들고 각각의 콘센트에 연결합니다.

@IBOutlet 약한 var tf1:UITextField!@IBOutlet 약한 var tf2:UITextField!@IBOutlet 약한 var tf3:UITextField!@IBOutlet 약한 var tf4:UITextField!
  • ViewController 클래스를 UITextFieldDelegate로 확장하고 textFieldShouldReturn

    메서드를 작성합니다.
확장 ViewController:UITextFieldDelegate { func textFieldShouldReturn(_ textField:UITextField) -> Bool { }}
  • ViewController 클래스의 viewDidLoad() 메소드에서 자신의 delegate를 하나씩 self로 설정합니다.

재정의 func viewDidLoad() { super.viewDidLoad() self.tf1.delegate =self self.tf2.delegate =self self.tf3.delegate =self self.tf4.delegate =self}
  • 이제 위에서 작성한 메서드에서 다음 코드 줄을 추가합니다.

let nextTag =textField.tag + 1let nextTF =textField.superview?.viewWithTag(nextTag) as UIResponder!if nextTF !=nil { nextTF?.becomeFirstResponder()} else { textField.resignFirstResponder()}거짓 반환 

이제 완전한 ViewController 클래스는 다음과 같아야 합니다.

UIKitclass ViewController 가져오기:UIViewController { @IBOutlet 약한 var tf1:UITextField! @IBOutlet 약한 var tf2:UITextField! @IBOutlet 약한 var tf3:UITextField! @IBOutlet 약한 var tf4:UITextField! override func viewDidLoad() { super.viewDidLoad() // 일반적으로 펜촉에서 보기를 로드한 후 추가 설정을 수행합니다. self.tf1.delegate =self self.tf2.delegate =self self.tf3.delegate =self self.tf4.delegate =self }}extension ViewController:UITextFieldDelegate { func textFieldShouldReturn(_ textField:UITextField) -> Bool { let nextTag =textField.tag + 1 let nextTF =textField.superview?.viewWithTag(nextTag)를 UIResponder로! if nextTF !=nil { nextTF?.becomeFirstResponder() } else { textField.resignFirstResponder() } 반환 거짓 }}

xcode와 시뮬레이터에서 각각 앱이 보이는 방식입니다.

iPhone/iOS 키보드에서 다음 버튼을 사용하여 모든 텍스트 필드를 살펴보는 방법은 무엇입니까?

iPhone/iOS 키보드에서 다음 버튼을 사용하여 모든 텍스트 필드를 살펴보는 방법은 무엇입니까?