2017-04-06 3 views
1

アクションを完了した後でのみユーザーがビューにアクセスできるようにするにはどうすればよいですか?たとえば、ユーザーがIOS開発用のSwift 3の前のビューの質問に正しく応答した場合は、ビューにアクセスしてくださいアクションを完了した後にのみ、ユーザーがビューにアクセスできるようにするIOS Swift 3

+1

これはコードなしの非常に広い質問です。あなたのviewControllerは何をしていますか?それは同じものが何度も繰り返し表示されるクイズアプリですか?または、あなたの質問に答えると、新しいviewControllerにセグエイする何らかの認証をしていますか? – Adrian

答えて

0

これは非常に広い質問ですが、詩のバージョンの物理あなたのtextFieldを監視するいくつかの種類のターゲットアクションメソッド。 1つの質問に答えると、ユーザーはセグをすることができます。

1つのアプローチは、最初に質問が正しく答えると無効にされ、有効になる「次へ」ボタンを持つことです。 FirstViewController

、あなたはそうのように、nextButtontextFieldIBOutletを持つことができます:

@IBOutlet weak var textField: UITextField! 
@IBOutlet weak var nextButton: UIButton! 

あなたは、viewDidLoadで、その後SecondViewController

にセグエをドラッグ+も制御したいです最初にボタンを無効にすることができます:

ボタンは無効になります。それが有効になっている瞬間、それを押してセグをすることができます。

その後、あなたは正しい答えのためmethod you create to monitor your textFieldを持つことができます:

// this is the method that monitors your textField 
func textFieldDidChange(textField: UITextField) { 

    if textField.text != "42" { 
     nextButton.isEnabled = false 
    } 

    else { 
     nextButton.isEnabled = true 
    } 
} 

viewDidLoadでは、あなたの無効nextButton後にターゲットアクションを追加したいです。ここでviewDidLoadは次のようになります。

override func viewDidLoad() { 
    super.viewDidLoad() 
    // this sets the button to disabled... 
    nextButton.isEnabled = false 

    // this monitors the textField for the correct answer 
    textField.addTarget(self, action: #selector(textFieldDidChange(textField:)), for: .editingChanged) 
} 

ここa repo I created for youです。

+0

ありがとうございます!私はこれで苦労していますが、今はすべてが明確です!本当にありがとう! :D –

+0

それが助けになったら、答えを受け入れて上矢印をクリックしてください:) – Adrian

関連する問題