У меня есть MainView, который добавляет подвид (signUpWindow) при нажатии кнопки регистрации.
В моем подпредставлении signUpWindow (SignUpWindowView.swift) я настроил каждое поле с помощью функции, например:
func confirmPasswordText()
{
confirmPasswordTextField.frame=CGRectMake(50, 210, 410, 50)
confirmPasswordTextField.placeholder=("Confirm Password")
confirmPasswordTextField.textColor=textFieldFontColor
confirmPasswordTextField.secureTextEntry=true
confirmPasswordTextField.returnKeyType = .Next
confirmPasswordTextField.clearButtonMode = .WhileEditing
confirmPasswordTextField.tag=5
self.addSubview(confirmPasswordTextField)
}
У меня есть клавиатура, перемещающая signUpWindow вверх и вниз, когда она появляется и исчезает в MainView.
SignUpWindowView
реализует UITextFieldDelegate
Моя проблема в том, что я пытаюсь настроить кнопку «Далее/Готово» на клавиатуре и не уверен, в какое представление (MainView
или SignUpWindowView
) добавить функцию textFieldShouldReturn
. Я пробовал оба, но не могу даже запустить println
, чтобы проверить, выполняется ли функция. Как только я заставлю textFieldShouldReturn
сработать, я уверен, что смогу выполнить необходимый код, чтобы заставить кнопки «Далее/Готово» делать то, что я хочу, и опубликую окончательное решение, включающее функцию «Далее/Готово».
ОБНОВЛЕНО, чтобы включить сокращенную версию SignUpWindowView.swift
import UIKit
class SignUpWindowView: UIView,UITextFieldDelegate {
let firstNameTextField:UITextField=UITextField()
let lastNameTextField:UITextField=UITextField()
override func drawRect(rect: CGRect){
func firstNameText(){
firstNameTextField.delegate=self
firstNameTextField.frame=CGRectMake(50, 25, 200, 50)
firstNameTextField.placeholder="First Name"
firstNameTextField.returnKeyType = .Next
self.addSubview(firstNameTextField)
}
func lastNameText(){
lastNameTextField.delegate=self
lastNameTextField.frame=CGRectMake(260, 25, 200, 50)
lastNameTextField.placeholder="Last Name"
lastNameTextField.returnKeyType = .Done
self.addSubview(lastNameTextField)
}
func textFieldShouldReturn(textField: UITextField!) -> Bool{
println("next button should work")
if (textField === firstNameTextField)
{
firstNameTextField.resignFirstResponder()
lastNameTextField.becomeFirstResponder()
}
return true
}
firstNameText()
lastNameText()
}