현재 여러 개의 텍스트 필드와 2 개의 텍스트보기가 포함 된 앱을 하나의 스크롤보기에서 작업하고 있습니다. 키보드가 나타나면 필드를 숨길 수 없도록 스크롤 뷰의 내용 삽입을 변경할 수있었습니다. 내가 겪고있는 문제는 하드 코딩 된 하나의 필드에서만 작동하도록 할 수 있다는 것입니다. 하나를 선택하고 그것에 애니메이션을 적용해야합니다. 어쨌든 keyboardWillShow
에 보낸 사람 필드 또는 텍스트보기를 가져 오나요? 현재, 나는 이것을 사용하고 언급 한 것 이외에는 모든 것이 작동하는데 하나의 필드 detailsTxtView
을 선택하고 그것에 애니메이션을 적용해야했습니다. 어떤 도움이 필요합니까?알림 센터의 발신자 표시 키보드가 표시됩니다.
NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillShow(notification:)),name: NSNotification.Name.UIKeyboardWillShow, object: nil)
func keyboardWillShow(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
let contentInsets: UIEdgeInsets? = UIEdgeInsetsMake(0.0, 0.0, keyboardSize.height, 0.0)
scrollView.contentInset = contentInsets!
scrollView.scrollIndicatorInsets = contentInsets!
let goto = CGPoint(x: CGFloat(0.0), y: CGFloat(detailsTxtView.frame.origin.y + (keyboardSize.height + 40)))
scrollView.setContentOffset(goto, animated: true)
}
}
감사합니다. 나는 미래의 많은 프로젝트에서 그 지식을 활용할 것이다. – user1881482