大佬教程收集整理的这篇文章主要介绍了UITextField Swift中的ios – resignFirstResponder,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
import UIKit class ViewController: UIViewController,UIPickerViewDatasource,UIPickerViewDelegate { // Do any additional setup after loading the view,typically from a nib. //initialization constants let pickerView = UIPickerView() let textField = UITextField() let pickerData = ["1","2","three"] override func viewDidLoad() { //pickerview tool bar let toolbar = UIToolbar(frame: CGRectMake(0,320,44)) var items = [AnyObject]() //making done button let doneButton = UIBarButtonItem(title: "Done",style: .Plain,target: self,action: SELEctor(donePressed())) items.append(doneButton) toolbar.barStyle = UIBarStyle.black toolbar.setItems(items,animated: truE) //creaTing textfields with a pickerview pickerView.delegate = self pickerView.datasource = self pickerView.frame = CGRectMake(0,500,300) textField.inputAccessoryView = toolbar textField.inputView = pickerView textField.frame = CGRectMake(200,55,100,35) textField.BACkgroundColor = UIColor.blueColor() //adding objs to viewController self.view.addSubview(textField) } func donePressed() { resignFirstResponder() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } } //MARK: Data sources UIPickerView extension ViewController: UIPickerViewDatasource { func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int { return 1 } func pickerView(pickerView: UIPickerView!,numberOfRowsInComponent component: int) -> Int { return pickerData.count } } //MARK: Delegates UIPickerView extension ViewController: UIPickerViewDelegate { // several optional methods: func pickerView(pickerView: UIPickerView,titleForRow row: Int,forComponent component: int) -> String! { return pickerData[row] } func pickerView(pickerView: UIPickerView!,didSELEctRow row: Int,inComponent component: int) { textField.text = pickerData[row] } }
>对于donePressed的选择器声明不正确.它应该是:
let doneButton = UIBarButtonItem(title: "Done",action: "donePressed")
>您需要在textField上调用resignFirstResponder():
func donePressed() { textField.resignFirstResponder() }
如果您有多个textField,并且您不想在resignFirstResponder调用中对textField进行硬编码,则可以执行以下操作:
>使您的ViewController成为UITextFielddeletate:
class ViewController: UIViewController,UIPickerViewDelegate,UITextFieldDelegate {
>在UITextField上设置delegate属性:
textField.delegate = self
>将一个属性添加到ViewController以跟踪活动的UITextField:
var activeTextField:UITextField?
>实现textFieldDidBeginEdiTing并存储活动的UITextField:
func textFieldDidBeginEdiTing(textField: UITextField) { // became first responder activeTextField = textField }
>在donePressed中,调用activeTextField上的resignFirstResponder:
func donePressed() { activeTextField?.resignFirstResponder() }
以上是大佬教程为你收集整理的UITextField Swift中的ios – resignFirstResponder全部内容,希望文章能够帮你解决UITextField Swift中的ios – resignFirstResponder所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。