iT邦幫忙

2021 iThome 鐵人賽

DAY 19
0
自我挑戰組

一個令我自豪的App完成之路系列 第 24

Return到nexttextfield Day24

  • 分享至 

  • xImage
  •  

按下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


上一篇
下拉式選單更新 Day 23
下一篇
ScrollView的Contentoffset解析 Day25
系列文
一個令我自豪的App完成之路32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言