Return到nexttextfield Day24

按下Return键移动到下一个textfield栏位

步骤:

  • 使用textfield的tag
  • 使用UITextFieldDelegate
  • 使用textFieldShouldReturn()
  • 按下其他位置取消键盘

使用textfield的tag

@IBOutlet weak var AddBookName: UITextField!{
        didSet{
						// 设定好textfield的tag
            AddBookName.tag = 1
						// 设定firstResponder
            AddBookName.becomeFirstResponder()
            AddBookName.delegate = self
        }
    }

@IBOutlet weak var AddBookISBN: UITextField!{
        didSet{
            AddBookISBN.tag = 2
            AddBookISBN.delegate = self
        }
    }
@IBOutlet weak var AddBookAuthor: UITextField!{
        didSet{
            AddBookAuthor.tag = 3
            AddBookAuthor.delegate = self
        }
    }

使用UITextFieldDelegate

// 继承UITextFieldDelegate 使用按下Return到下一个textfield栏位func(textFieldShouldReturn)
class BookAddViewController: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate,UITextFieldDelegate{
	

使用textFieldShouldReturn()

func textFieldShouldReturn(_ textField:UITextField) -> Bool{
		if let nextTextField = view.viewWithTag(textField.tag + 1){
				// 取消resignFirstResponder
				textField.resignFirstResponder()
				// 下一个textField变成FirstResponder
				nextField.becomeFirstResponder()
		}

按下其他位置取消键盘

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

成果展示:

https://i.imgur.com/KFEqipI.gif


<<:  [第十四天]从0开始的UnityAR手机游戏开发-如何在辨识图卡时拨放影片03

>>:  【day13】连续上班日做便当2

Day 27 Quantum Protocols and Quantum Algorithms

Quantum Key Distribution Polarisation can be one o...

30天打造品牌特色电商网站 Day.15 微互动设计按钮实作(1)

网站的各种按钮及动态互动是UX使用者经验最直接接触的地方,透过设计能让使用者直觉操作,也能带来良好的...

【PHP 设计模式大头菜】模板方法 Template Method

模板方法 Template Method 模板方法,是一种如果这包水泥我有、你也有,就连乔瑟夫都有...

Day18-Vue Router 路由设定(part1)

昨天有提到的路由今天要来做拆解,做更深入的了解。昨天提到的router/index.js设定也可以写...

DAY29-JAVA的for-each、Iterator和ListIterator

集合的特性 可以依照集合是否具有「自动排序性」、「重复性」、「次序性」及「使用关键值」,为资料选择适...