Swift 3:TPKeyboardAvoidingScrollView 在 UITableViewCell 中的一个 UITextField 上无法正常工作
Posted
技术标签:
【中文标题】Swift 3:TPKeyboardAvoidingScrollView 在 UITableViewCell 中的一个 UITextField 上无法正常工作【英文标题】:Swift 3: TPKeyboardAvoidingScrollView not working properly on one UITextField in UITableViewCell 【发布时间】:2017-08-09 02:25:34 【问题描述】:我遇到了这个问题,我有三个单元格,都是由同一个函数创建的,但由于某种原因,第三个单元格有滚动问题(姓氏单元格)。
我正在使用TPKeyboardAvoidingTableView
,这通常是有史以来最伟大的事情,但由于某种原因它不喜欢这个单元格。这是代码:
guard let cell = tableView.dequeueReusableCell(withIdentifier: SignUp_Constants.DetailsCellIdentifier, for: indexPath) as? DetailsCell else return UITableViewCell()
cell.isUserInteractionEnabled = true
cell.detailsInputTextField.removeTarget(nil, action: nil, for: .allEvents)
cell.detailsInputTextField.addTarget(cell, action: #selector(DetailsCell.textFieldDidChange(_:)), for: .editingChanged)
cell.detailsInputTextField.autocapitalizationType = .none
cell.detailsInputTextField.spellCheckingType = .default
cell.detailsInputTextField.isSecureTextEntry = false
cell.detailsInputTextField.isUserInteractionEnabled = true
cell.detailsInputTextField.keyboardType = .default
cell.delegate = self
var title = SignUp_Constants.getTitle(forCellType: currentSectionView, atRow: indexPath.row)
cell.setTextFieldText(toValue: signUpDictionary[title] as? String ?? "")
cell.setTitleLabel(to: title)
return cell
在整个项目中由相同代码创建的每个其他单元格都可以正常工作。
任何帮助,提前感谢!
【问题讨论】:
【参考方案1】:经过很多麻烦和敲桌子后,我决定在用户单击文本字段时输入tableView.scrollToRow(row: x, atIndexPath: indexPath)
,错误就消失了!我已经多次使用这个 pod,并且从来没有必须使用这个功能,所以如果有人有任何其他解决方案,很高兴听到他们的声音!
【讨论】:
以上是关于Swift 3:TPKeyboardAvoidingScrollView 在 UITableViewCell 中的一个 UITextField 上无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
swift takasek / CodePiece.swiftのSwift 3.1版