UITextField 没有显示键盘

Posted

技术标签:

【中文标题】UITextField 没有显示键盘【英文标题】:Keyboard not showing for UITextField 【发布时间】:2015-10-06 16:17:20 【问题描述】:

我有一个包含UICollectionView 的 UIView,其中包含自定义单元格。这些自定义单元格包含 UILabelUITextField。自定义单元类和UICollectionView 委托方法之一的代码是:

class DurationDayCells: UICollectionViewCell 
    @IBOutlet weak var dayLabel: UILabel!

    @IBOutlet weak var dayHourText: UITextField!


func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int 
    return daysSet.count


func collectionView(collectionView: UICollectionView!,layout collectionViewLayout: UICollectionViewLayout!,sizeForItemAtIndexPath indexPath: NSIndexPath!) -> CGSize 

    return CGSize(width: (self.durationCollectionView.frame.width/CGFloat(daysSet.count)), height:
        self.durationCollectionView.frame.height)


如您所见,这些单元格是根据daysSet 的大小动态创建和调整大小的。问题是当我点击单元格中的一个文本字段时,键盘不会弹出(粉红色/红色视图是所说的UIView):

我还有一个后续问题,当我确实设法使键盘显示时(不知何故),它完全阻止了粉红色/红色 UIView,有没有办法在文本时将整个 UIView 向上移动字段被选中所以键盘不会阻止它?

【问题讨论】:

【参考方案1】:

关于键盘未显示,模拟器可能设置为链接您计算机的键盘。来自Xcode 6: Keyboard does not show up in simulator

ios 模拟器 -> 硬件 -> 键盘

取消选中“连接硬件键盘”

为了让您的内容在显示键盘时自动向上滚动,CocoaPod IQKeyboard 专为此 https://github.com/hackiftekhar/IQKeyboardManager 构建。

如果您不知道 CocoaPods 是什么,我强烈建议您通过https://cocoapods.org/查看它们

【讨论】:

以上是关于UITextField 没有显示键盘的主要内容,如果未能解决你的问题,请参考以下文章

切换uitextf时停止键盘关闭

Swift——UITextField 没有显示键盘,我无法编辑它

如何在 viewDidLoad 上的 Swift 中显示没有 UITextField 的标准数字键盘

像键盘一样显示UIPickerView,没有UITextField

UITextField 提示时键盘不显示

UITextField 键盘没有消失