본문 바로가기
짤막 TlL

키보드 내리기

by 방우 2022. 7. 30.

화면밖을 탭해서 키보드를 내렸었는데 다른 방법을 써보았따

 

키보드를 내릴 때 화면 밖을 터치해야 내려지는 경우가 있다.

아래 코드에서 키보드 자리에 뷰를 넣었기 때문에 addTargetd 화면 밖을 터치하면 내려가는 액션을 구현할 수 있지 않을까..? 했는데

텍스트필드에서는 touchUpOutside가 먹지 않는다. 아마 edit 액션만 가능한 것 같다

numberTextField.inputView = lottoPickerView
        numberTextField.addTarget(self, action: #selector(keyboardDown), for: .touchUpOutside)
        // 액션이 호출이 안됨.....잘 쓰지 않음
        
        lottoPickerView.delegate = self
        lottoPickerView.dataSource = self
        numberTextField.delegate = self
    }
    
    @objc
    func keyboardDown() {
        print("키보드 다운")
        numberTextField.resignFirstResponder()
    }

아래처럼 설정하면 선택을 하고 엔터를 쳤을 때 pickerViewr가 내려간다.

  numberTextField.addTarget(self, action: #selector(keyboardDown), for: .editingDidEndOnExit)

 

사실 위처럼 addTarget으로 하지않고 편집시점을 잡아 키보드를 내린다고 한다. 

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        numberTextField.text = "\(numberlist[row])회차" // 선택이 됐을 때 어떻게 텍스트필트에 어떻게 보여질 건지
        //view.endEditing(true)
        DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 2) {
          // 2초 후 실행될 부분
            self.numberTextField.resignFirstResponder()
        }
        
    }

 


 

TextView의 키보드를 내려보겠다

아래처럼배경을 탭하는 걸로 절대내려가지 않았다.

 

직접 addtarget을 해주거나 새로운 터치가 있을 때 내려주니 잘 내려갔다.. 

tap에서는 첫번째 응답자 포기메서드는 구현되지 않았는데

touchBegan에서는 잘 됐다.

'짤막 TlL' 카테고리의 다른 글

NSTextAttachment  (0) 2022.07.30
TextView Placeholder  (0) 2022.07.30
delegate  (0) 2022.07.29
배경색 랜덤으로 바꾸기(CGFloat)  (0) 2022.07.21
스토리보드 아이디 화면전환 안됨  (0) 2022.07.21