2017-10-04 1 views
0

datePickerDialog 라이브러리를 사용하여 timeField를 클릭하면 날짜 선택 도구가 나타납니다. 그러나 시간 textField 위에있는 Trainer-2 textField를 클릭하면 키보드가 나타납니다. 그러나 timeField를 클릭하면 키보드가 사라지지 않고 날짜 선택 도구가 나타나 페이지가 멈추게됩니다.DatePickerDialog에서 날짜를 가져 오기 위해 keyboardField를 클릭하는 동안 키보드가 걸렸습니다.

다음은 코드입니다.

func textFieldDidBeginEditing(_ textField: UITextField) { 

if textField == timeTextField { 

self.view.endEditing(true) 
self.getTime(textField: textField) 

} 

} 

func getTime(textField: UITextField) { 

DispatchQueue.main.async { 

      DatePickerDialog().show(title: "DatePicker", doneButtonTitle: "Done", cancelButtonTitle: "Cancel", datePickerMode: .time) { 
       (time) -> Void in 
       guard let date_time = time else { return } 

} 
} 

아래는 이미지입니다.

1) Trainer-1 텍스트 필드를 클릭하면 키보드가 나타납니다. 클릭이 시간 텍스트 필드에 날짜 선택기

when click on time textField

을 얻을 때

when click on trainer-1 textfield

2) 난 그냥 클릭 시간에에 textField 그가 DatePicker에서를 겟 할 때 키보드가 사라지게합니다.

감사합니다.

+0

가 textField' –

답변

0

사용하십시오. 당신이 timeTextField 클릭하면 당신도 timeTextField을 터치 한 후 키보드를 표시하지 않으려면, 키보드 대신

func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool { 
    if textField == timeTextField { 
    self.view.endEditing(true) 
    self.getTime(textField: textField) 
    } 
} 

func textFieldDidBeginEditing(_ textField: UITextField) {} 
0

사라집니다, 당신은 바로 textFieldDidBeginEditing에서이를 기각 할 수 있습니다

func textFieldDidBeginEditing(_ textField: UITextField) { 
    if textField == timeTextField { 
     self.view.endEditing(true) 
     self.getTime(textField: textField) 
     textField.resignFirstResponder() 
    } 
} 
+0

이 작동하지 않는 텍스트 필드 볼! – Priya

+0

키보드가 사라지지 않거나 그것이 의미하는 바가 작동하지 않는다면 구체적으로 설명하십시오. –

+0

키보드가 사라지지 않는다는 뜻입니다. – Priya

0

당신은 우는 소리처럼 시도 할 수 있습니다 ..

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { 
    //print("While entering the characters this method gets called") 

    if(textField == timeTextField){ 
     return false; 
    } 

    return true; 
} 

func textFieldShouldReturn(_ textField: UITextField) -> Bool { 

    textField.resignFirstResponder() 
    return true 
} 
0

은 사용이,있는 viewDidLoad에서 는 입력으로 설정 날짜 선택은하지 시간`에 대한 inputView``으로 시도하는 이유

override func viewDidLoad() { timeTextField.inputView = objDataPicker }

관련 문제