2016-04-02 104 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