2017-10-28 6 views
0

私は今日、私のアプリケーションの簡単なページを作成しました。そして、今私はそれを拡大したい。名前を挿入した後に新しいページを表示する方法

import UIKit 

class ViewController: UIViewController { 

    @IBOutlet weak var myLabel: UILabel! 
    @IBOutlet weak var myTextField: UITextField! 
    @IBOutlet weak var display: UILabel! 
    @IBAction func myButtonPressed(_ sender: Any) { 
     display.text = "Hi \(myTextField.text!)! What can I do for you 
today?" 
    } 

    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 
} 

ユーザーが名前を入力した後に新しいページを表示するようにします。

+0

あなたは少しグーグルで答えを見つけることができ、それを行うための方法がたくさんあります。 – Mina

+0

ほとんどの方法で複数のビューページが作成されています(私はそれを呼び出すと思います)。そして、ユーザは、ボタンを手動でクリックして次のページに進む必要があります。ユーザーがテキストフィールドに名前を入力した後、ページが自動的にポップアップするようにしたい。 –

+0

http://www.techotopia.com/index.php/Using_Storyboards_in_Xcode_6要件に合わせた完璧なチュートリアル。 –

答えて

0

あなたはUITextViewDelegateに準拠し、同じようfunc textViewDidEndEditing(_ textView: UITextView)でのViewControllerを提示することができます:あなたはのviewDidLoad

//値の変更に

myTextField.addTarget(self, action: #selector(onNameChange(sender:)), for: .editingChanged) 

//のようにターゲットを追加することができます

extension ViewController: UITextFieldDelegate { 
    func textViewDidEndEditing(_ textView: UITextView) { 
    self.present(/*the targeted view controller*/) 
    } 
} 
+0

私はそれがどういう意味か分かりません。笑しかし、コードをどこにでも差し込み、何が起こるかを見てみましょう。ありがとう。 –

+0

ユーザはテキストフィールドに自分の名前を入力します。 textFieldのデリゲートがView Controllerであり、ユーザーが編集を完了すると(テキストフィールドへのテキストの入力も含まれます)、このメソッドが呼び出されます。 「完了編集」とは、ユーザーがテキストフィールドからフォーカスを削除したことを意味します。しかし、あなたはまだユーザーが実際に実行されていることを確認することはできませんので、ボタンを「提出」するのはいつもより安全です。 –

0

@objc func onNameChange(sender:UITextField) { 
     // Do something 
    } 
0

これまでのところ、私はあなたの質問を次のように受けました:

ユーザーがテキストフィールドに自分の名前を記入すると、新しいViewControllerに行きたいと思っています。

私はあなたが右の[属性の「テキスト入力済みの特徴節」インスペクタ内部戻りキー値として「GO」(またはあなたがオプションから希望する任意のもの)を選択しました場合。今

そしてUITextFieldDelegateを実装すると、あなたのビューコントローラクラスでこのコードを追加します。

func textFieldShouldReturn(_ textField: UITextField) -> Bool // called when 'return' key pressed. return false to ignore. 
{ 
    print(textField.tag) 
    if (textField.text?.isEmpty)! { 
     //show alert that text field is empty 
     return false 
    } 
    /* as per your case we have only one textfield, 
     So there no need of switch case and you can 
     directly present your next vc from here without having any button on UI */ 

    return false 
} 
関連する問題