2014-11-18 2 views
1

Мне интересно, как убрать клавиатуру, если пользователь прикасается за пределами UITextField. Я использую Xcode 6.1. Я добавил UITextField в UIViewController в соответствии с нижеследующей функцией ViewDidLoad(). Любая помощь по увольнению ключевого совета была бы высоко оценена.в быстром, как убрать клавиатуру

class PickerdemoViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate, UITextFieldDelegate{ 

var textBox1 : UITextField! 

override func viewDidLoad() { 

//..................adding text box.........................// 

    self.textBox1 = UITextField (frame: CGRectMake(100, 152.5, 50, 35)) 
    textBox1.delegate = self 
    textBox1.backgroundColor = UIColor.whiteColor() 
    textBox1.placeholder = "enter" 
    textBox1.keyboardType = UIKeyboardType.DecimalPad 
    self.textBox1.resignFirstResponder() 
    textBox1.keyboardAppearance = UIKeyboardAppearance.Default 
    self.view.addSubview(textBox1) 



    super.viewDidLoad() 

} 
+0

возможно дубликат [resignFirstResponder в Swift] (http://stackoverflow.com/questions/24034786/resignfirstresponder-in-swift) –

ответ

1

Вы должны иметь ссылку на UITextField так что значение свойства, как этот

class MyClass: UIViewController { 
    var textBox1: UITextField! 
    ... 
    // create your textfield where ever you were by assigning it to self.textBox1 
} 

Затем закрыть клавиатуру вы слагаете свой первый ответчик.

self.textBox1.resignFirstResponder() 

Обновления dimiss клавиатуры

Отвергая по возвращению/сделано с помощью метода textField делегата

func textFieldShouldReturn(textField: UITextField) -> Bool { 
    self.textBox1.resignFirstResponder() 
    return true 
} 

Dismissing на кнопку мыши (пользовательский метод IBAction)

@IBAction func buttonClicked(sender: UIButton!) { 
    self.textBox1.resignFirstResponder() 
} 
+0

Тем не менее у меня есть проблемы в отвергая его. он не исчезает, не уверен, что я делаю неправильно. – Magesh

+0

Можете ли вы обновить свой вопрос, показывая, как вы сейчас создаете текстовое поле. – sbarow

+0

Вопрос обновлен с учетом предложения sbarow – Magesh

0

с клавиатуры, нажав на экран. Обязательно не помещайте его в viewDidLoad.

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { // this func lets you close keyboard by touching screen 
    self.view.endEditing(true) // this line lets you close keyboard by touching screen 
} 
Смежные вопросы