2016-04-02 103 views
0

我已经看过计算器上几个其他的答案,但我似乎无法将它们应用到我的代码:如何在按下回车键和/或在键盘区外部按键后使键盘退出?

import UIKit 
class GraphItemCell: UITableViewCell, UITextFieldDelegate { 

@IBOutlet weak var itemNameLabel: UITextField? 
@IBOutlet weak var itemDescriptionLabel: UITextField? 
@IBOutlet weak var pointScore: UITextField? 


override func awakeFromNib() { 
    super.awakeFromNib() 
    // Initialization code 
} 

override func layoutSubviews() { 
    super.layoutSubviews() 
} 
//TextField delegate 
func textFieldShouldReturn(textField: UITextField) -> Bool { 
    textField.resignFirstResponder() 
    return false 
} 


override func setSelected(selected: Bool, animated: Bool) { 
    super.setSelected(selected, animated: animated) 

    // Configure the view for the selected state 
} 


} 
+0

我用了一个tapgesture识别并没有把resignFirstResponder在那里 – StealthOne

回答

0

添加UIGestureRecognizer的点触手势在你的UITableViewCell,并调用[itemNameLabel endEditing] & & [itemDescriptionLabel endEditing]当单元格被点击时。

+0

@Guarav好朋友,即时不完全知道如何要做到这一点。我将一个UIGestureRecognizer分配给一个常量: let tapRec = UIGestureRecognizer() 但我知道该从哪里去。 – KeithFrazier98

-1

首先在textFieldShouldReturn返回true,返回false表示您拒绝停止编辑。 其次为外压内时,当用户触摸键盘

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?){ 
    view.endEditing(true) 
    super.touchesBegan(touches, withEvent: event) 
} 

此之外touchesbegin写

self.view.endEditing(true) 
0

//驳回驳回键盘键盘是我在我的应用程序

+0

@ Dan L,我在类的内部有这个确切的实现,继承自UITableViewController,连接到正在编辑的单元格的tableView。我的类是否应该继承其他任何东西,或者我可能会在错误的地方声明这个函数? – KeithFrazier98

+0

@ KeithFrazier98所以你在课堂上调用这个函数?将我的代码复制并粘贴到您的项目中,替换您的函数并重新尝试。只是向上看,你不会在GraphTermCell类中调用它,而是在具有tableViewController的视图控制器中调用它,该控制器中的这个单元类正在控制表视图单元格。如果tableView占用整个视图控制器,则代码可能无法工作,因为触摸的任何地方都是tableViewCell。 –

0

设置文本字段使用StoryBoard中的代表。

func textFieldShouldReturn(textField: UITextField) -> Bool { 
      activeTextFiled=textField 
      return activeTextFiled.resignFirstResponder(); 
     } 

     override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?){ 
      view.endEditing(true) 

     } 
0

添加一个手势识别您UITableView,然后调用endEditing(true)方法,如果用户点击您的tableview