如何在文本字段和键盘中隐藏蓝色光标?

时间:2015-07-17 13:24:51

标签: ios swift

当我的ViewController出现时,我需要获得一个空的文本字段。我试过这个:

override func viewWillAppear(animated: Bool) {
    linkField.placeholder = "test"
    linkField.text = ""
}

但是当它出现时,键盘弹出,蓝色光标在textField中闪烁。 我该怎样摆脱那些?

修改

我想我没有正确解释我的问题。我不需要得到一个空光标,我只需要隐藏它和键盘,直到用户触摸文本字段输入内容。

4 个答案:

答案 0 :(得分:6)

文本字段光标颜色基于默认的色调颜色。在你的情况下,它是蓝色的。我会改变色调颜色以清除颜色。

linkField.tintColor = UIColor.clearColor()

对于编辑过的问题,如果您只是想解雇键盘,那么

linkField.resignFirstResponder()

将关闭键盘,当您想再次使用焦点时

linkField.becomeFirstResponder()

答案 1 :(得分:2)

创建UITextField的子类并覆盖caretRectForPosition

import UIKit

class RemoveBlinkCursor: UITextField {
    override init(frame:CGRect)
    {
        super.init(frame:frame)
    }

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }

    override func caretRectForPosition(position: UITextPosition!) -> CGRect {
        return CGRectZero
    }
}

enter image description here

更改编辑答案后:

对于显示和隐藏键盘和焦点,您可以使用辞职并成为Vig所说的第一响应者。

希望这有助于其他人去除闪烁的条形图。

答案 2 :(得分:0)

试试这个

self.textField.tintColor = [UIColor clearColor];

希望它有所帮助。

答案 3 :(得分:0)

Swift 3 Xcode 8

致电view.endEditing(true)一直对我有用