Alert Controlで編集可能なテキスト入力ボックスを実装するチュートリアル

3141 ワード

作者:Arthur Knopper,原文リンク,原文日付:2015-12-21訳者:pmst;校正:Cee;下書き:千葉知風
UIalertControllerクラスは、警告ポップアップを表示するだけでなく、テキスト情報入力を取得するためにText Fieldsを提供することもできる.このチュートリアルでは、ユーザーからアカウントとパスワードを取得し、端末に印刷する方法を説明します.このチュートリアルの開発環境はXcode 7.2およびiOS 9です.
Xコードを開き、Single Viewアプリケーションを作成します.プロジェクト名を入力:O i o S 9 T e x t E l d A l e r t ControllerTutorial、次に独自のOrganization NameとOrganization Identifierを記入します.言語をSwiftとし、デバイスがiPhoneであることを確認します.
Storyboardに向かいます.Object Library(ショートカットキーCommand+Option+Control+3)から、メインビューにボタン(UIButton)をドラッグします.ボタンをダブルクリックしてタイトルを「Log in」に設定します.ここでボタンを選択したままCtrlキーを押し、マウスの左ボタンでメインビューの上に線をドラッグし、黒いメッセージボックスをポップアップし、Shiftキーで「Vertical Spacing to Top Layout Guide」と「Center Horizontaly in Container」の2つのオプションを選択します.
Storyboardはこのようなものだと思います.
(注:インタフェースに黄色のコンストレイント警告が表示されているかもしれませんが、Command+Option+=ショートカットキーを使用して更新する必要があります.)
Assistant Editorを選択し、View Control.swiftが表示されます.選択したボタンはCtrl+左ドラッグで次のアクションを作成します.
ViewControllerクラスでのloginメソッドの実装:

@IBAction func login(sender: AnyObject) {
    // 1.
    var usernameTextField: UITextField?
    var passwordTextField: UITextField?
    
    // 2.  
    let alertController = UIAlertController(
      title: "Log in",
      message: "Please enter your credentials",
      preferredStyle: UIAlertControllerStyle.Alert)
    
    // 3.  
    let loginAction = UIAlertAction(
      title: "Log in", style: UIAlertActionStyle.Default) {
        (action) -> Void in
        
          if let username = usernameTextField?.text {
            print(" Username = \(username)")
          } else {
            print("No Username entered")
          }
        
          if let password = passwordTextField?.text {
            print("Password = \(password)")
          } else {
            print("No password entered")
          }
    }
    
    // 4.
    alertController.addTextFieldWithConfigurationHandler {
      (txtUsername) -> Void in
        usernameTextField = txtUsername
        usernameTextField!.placeholder = ""
    }
    
    alertController.addTextFieldWithConfigurationHandler {
      (txtPassword) -> Void in
        passwordTextField = txtPassword
        passwordTextField!.secureTextEntry = true
        passwordTextField!.placeholder = ""
    }
    
    // 5.
    alertController.addAction(loginAction)
    self.presentViewController(alertController, animated: true, completion: nil)
  }
  • は、2つのオプションタイプのUItextField変数を作成して、ポップアップウィンドウを警告します.
  • AlertスタイルのAlertControllerを作成します.
  • は、textFieldから入力された情報を端末に印刷するという動作を閉パッケージで実行するAlert Actionを作成する.
  • addTextFieldWithConfigurationHandlerメソッドは、テキスト入力ボックス(text input fields)を追加し、パラメータ変数としてパケットを閉じて受信するために使用される.
  • は、登録動作をAlertControllerに追加し、コントローラを提示する.

  • プロジェクトを構築して実行し、LoginボタンをクリックしてAlertControllerのusernameフィールドとpasswordフィールドを入力します.入力内容が端末に印刷されます.
    ioscreatorのGitHubウェアハウスにIOS 9 TextFieldAlertControllerTutorialソースコードをダウンロードできます.
    本文はSwiftGG翻訳グループから翻訳して、すでに作者の翻訳の授権を得て、最新の文章は訪問して下さいhttp://swift.gg.