按下返回后,UITextField隐藏光标

时间:2016-09-28 14:07:46

标签: swift uitextfield uinavigationbar

我想为导航栏设置一个可编辑的标题。我找到了这段代码

let navigationTitlelabel = UITextField(frame: CGRectMake(0, 0, 200, 21))
    navigationTitlelabel.center = CGPointMake(160, 284)
    navigationTitlelabel.textAlignment = NSTextAlignment.Center
    navigationTitlelabel.textColor  = UIColor.whiteColor()
    navigationTitlelabel.text = defaultListName
    self.navigationController!.navigationBar.topItem!.titleView = navigationTitlelabel
    navigationTitlelabel.delegate = self

我在viewWillAppear中有。这样我就可以更改视图控制器的标题。然后我为代表实现这些:

func textFieldShouldReturn(textField: UITextField) -> Bool {
    resignFirstResponder()
    return true

}
func textFieldShouldEndEditing(textField: UITextField) -> Bool {
    let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
    let moc = appDelegate.managedObjectContext

    if textField.text != ""{
        //save to Core Data
    return true
    }
    return false
}

然而,当我按下返回时,光标仍然闪烁。数据被保存,如果我重新加载VC,标题就是新标题,但我无法退出编辑标题模式"即使我点击另一个按钮。

我该如何解决这个问题?

我在模拟器上测试了这个,Swift 2.2

1 个答案:

答案 0 :(得分:1)

使用以下代码修改textFieldShouldReturn

    textField.resignFirstResponder()