步骤:
@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 使用按下Return到下一个textfield栏位func(textFieldShouldReturn)
class BookAddViewController: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate,UITextFieldDelegate{
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)
}
成果展示:
<<: [第十四天]从0开始的UnityAR手机游戏开发-如何在辨识图卡时拨放影片03
Quantum Key Distribution Polarisation can be one o...
网站的各种按钮及动态互动是UX使用者经验最直接接触的地方,透过设计能让使用者直觉操作,也能带来良好的...
模板方法 Template Method 模板方法,是一种如果这包水泥我有、你也有,就连乔瑟夫都有...
昨天有提到的路由今天要来做拆解,做更深入的了解。昨天提到的router/index.js设定也可以写...
集合的特性 可以依照集合是否具有「自动排序性」、「重复性」、「次序性」及「使用关键值」,为资料选择适...