关闭 UICollectionViewCell 内的 UITextField 的键盘
Posted
技术标签:
【中文标题】关闭 UICollectionViewCell 内的 UITextField 的键盘【英文标题】:Dismiss keyboard for UITextField that is inside of a UICollectionViewCell 【发布时间】:2015-07-19 04:17:24 【问题描述】:我有一个 UICollectionView,其中包含这样的自定义单元格:
class DurationDayCells: UICollectionViewCell
@IBOutlet weak var dayLabel: UILabel!
@IBOutlet weak var dayHourText: UITextField!
我希望 UICollectionView(及其容器视图在键盘弹出文本字段时向上移动)并且我使用 NSNotificationCenter
、keyboardWillShow
和 keyboardWillHide
来执行此操作,如本教程中所示:@987654321 @
但是,问题是当我尝试关闭 UICollectionView 的容器视图(红色视图,带有倒置三角形 UIButton)时,键盘停留在屏幕上,如屏幕截图所示:
我想要做的是在与 UIButton 关联的 IBAction 函数中关闭容器视图时隐藏键盘。
【问题讨论】:
【参考方案1】:在关闭容器视图后尝试使用self.view.endEditing(true)
。
【讨论】:
非常感谢!虽然我有一个后续问题,但resignFirstResponder
是做什么的?我不太了解文档,但很多教程似乎都用它来关闭键盘。
很高兴它有帮助!区别在于self.view.endEditing(true)
隐藏了所有可能在self.view
中的键盘,而resignFirstResponder
是特定UITextField
的方法,所以它只会隐藏自己的键盘。【参考方案2】:
要添加到上一个答案,您必须将“view”更改为“collectionview”,例如
self.collectionView.endEditing(true)
【讨论】:
以上是关于关闭 UICollectionViewCell 内的 UITextField 的键盘的主要内容,如果未能解决你的问题,请参考以下文章
以编程方式选择 UICollectionViewCell [关闭]
如何在 UICollectionViewCell 内缩放 UIScrollView?
UITextView 没有在 UICollectionViewCell 内启动
UICollectionViewCell 内带有 UITableView 的自定义单元格
Swift:选择 UICollectionViewCell(在 UITableViewCell 内)时如何使用 Segue