Имам 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
Проблемът ми е, че се опитвам да конфигурирам бутона Next/Done на клавиатурата и не съм сигурен кой изглед (MainView
или SignUpWindowView
) да добавя функцията textFieldShouldReturn
. Опитах и двете, но дори не мога да накарам println
да се задейства, за да тествам дали функцията изобщо се изпълнява. След като накарам textFieldShouldReturn
да се задейства, уверен съм, че мога да изпълня необходимия код, за да накарам бутоните Next/Done да правят това, което искам, и ще публикувам окончателното решение за включване на функцията Next/Done.
АКТУАЛИЗИРАН за включване на съкратена версия на 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()
}