我想为我的导航栏设置一个可编辑的标题。我找到了这段代码
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
中有它。这样我就可以更改 View Controller 的标题。然后我为代表实现这些:
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 上测试它
最佳答案
使用以下代码修改 textFieldShouldReturn
textField.resignFirstResponder()
关于swift - 按下返回后UITextField隐藏光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39749949/