2016-07-04 2 views
0

ログインページにログインボタンがあるユーザー名/メールアドレスとパスワードのフィールドがあります。ユーザーがパスワードフィールドに入っている場合、キーボードにはリターンキーが表示されます。ユーザーがキーボードを閉じてログインボタンに触れる必要がないように、ログインボタンと同じアクションを実行するためにその戻りキーを設定するにはどうすればよいですか?iOSリターンキー - ログイン操作

class LoginScreen: UIViewController, UITextFieldDelegate{ 


@IBOutlet weak var userName: UITextField! 


@IBOutlet weak var password: UITextField! 

@IBOutlet weak var errorMessage: UILabel! 


override func viewDidLoad() { 
    super.viewDidLoad() 


    let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(JournalEntryViewController.dismissKeyboard)) 
    view.addGestureRecognizer(tap) 
} 

func dismissKeyboard() { 

    view.endEditing(true) 
} 

func textFieldShouldReturn(textField: UITextField) -> Bool { 
    self.view.endEditing(true) 
    return false 
} 




@IBAction func loginUser(sender: AnyObject) { 
    //self.performSegueWithIdentifier("loginComplete", sender: self) 


    FIRAuth.auth()?.signInWithEmail(userName.text!, password: password.text!) { 

     (user, error) in 

    if error != nil{ 

     self.errorMessage.text = "Please check email and password" 

    } else { 

     self.performSegueWithIdentifier("loginComplete", sender: self) 

    } 

私はいくつかの類似の記事を見てきましたが、非常にそれを取得しておりません。いかなる援助も感謝します。

答えて

1

enter image description here

+0

完全に機能しました。ありがとうございました。 – Blackbox

1

私は現在キーボードのEnterボタンを押したときにログイン機能を呼び出すこの機能を使用しています。

func textFieldShouldReturn(textField: UITextField) -> Bool { 

    if textField == self.passwordTextField { 
     loginAction(textField) 
    } else { 
     self.passwordTextField.becomeFirstResponder() 
    } 
    return true 
} 
0
func textFieldShouldReturn(textField: UITextField!) -> Bool { 

//textField code 

if textField == self.passwordTextField { 
    textField.resignFirstResponder() //if desired 
    performLogin() 
    } 

    return true 
} 

func performLogin() { 

//// Login methods 
    } 
0

使用テキストフィールドのデリゲート、あなたのリターンキーを

0

カスタムにあなたはこれを試すことができます。あなたは図のように、特定のUIViewControllerのIBActionへのUITextFieldのイベント「終了に終了しました」接合することで簡単にこれを達成することができますコーディングなし

func textFieldShouldReturn(textField: UITextField) -> Bool { 

    if textField == self.passwordTextField { 
     self.loginUser(textField) 
    } else { 
     self.passwordTextField.becomeFirstResponder() 
    } 
return true 
} 
関連する問題