사용자 정의 UITableViewCell
을 작성했으며 UITextView
을이 프로토 타입 셀에 넣습니다. 이 textView를 클릭하면 키보드가 자동으로 바운스 될 수 있습니다. 그러나 키보드를 숨기려면 Return
키를 클릭해야합니다. 그것은 꽤 편리하지 않습니다., tableview 스크롤 할 때 textview의 firstResponder를 사퇴하는 방법?
여기에 질문이 있습니다. tableview를 스크롤 할 때 textview의 firstResponder
을 숨기려면 어떻게해야합니까?
cellForRowAtIndex
방법은 다음과 같습니다.
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = UITableViewCell()
if(indexPath.section == 0){
cell = self.tableView.dequeueReusableCellWithIdentifier("InputCell")!
let textView = cell.viewWithTag(102) as! UITextView
textView.editable = true
textView.keyboardType = UIKeyboardType.Default
textView.delegate = self
textView.targetForAction(#selector(FeedBackViewController.getTextViewInsideCell(_:)), withSender: textView)
}
if(indexPath.section == 1){
cell = self.tableView.dequeueReusableCellWithIdentifier("ConfirmButtonCell")!
let label = cell.textLabel
label?.text = "send"
label?.textAlignment = NSTextAlignment.Center
label?.textColor = UIColor.redColor()
}
return cell
}
여기 구현 한 몇 가지 방법이 있습니다.
func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool{
if(text == "\n"){
textView.resignFirstResponder()
return false
}
return true
}
그리고이 방법을 구현하는 방법을 모릅니다. 있는 tableview 드래그 시작할 때
func scrollViewWillBeginDragging(scrollView: UIScrollView) {
}
'자체에 선택할 수있는 매우 쉽습니다 .view.endEditing (true)''scrollViewWillBeginDragging'이 작업을 수행합니다. – NSNoob