41 The UIAlertController to password format

Swift3.0 // // ViewController.swift // UIKit041_3.0 // // Created by KimikoWatanabe on 2016/08/21. // Copyright © 2016年 FaBo, Inc. All rights reserved. // import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = UIColor.cyan let myButton = UIButton(frame: CGRect(x:0, y:0, width:200, height:40)) myButton.layer.position = CGPoint(x:self.view.frame.width/2, y:200) myButton.layer.cornerRadius = 20.0 myButton.backgroundColor = UIColor.red myButton.setTitle("UIAlertを発動", for: .normal) myButton.addTarget(self, action: #selector(ViewController.onClickMyButton(sender:)), for: .touchUpInside) self.view.addSubview(myButton) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } /* ボタンアクション時に設定したメソッド. */ internal func onClickMyButton(sender: UIButton) { // Alert生成. let myAlert: UIAlertController = UIAlertController(title: "title", message: "message", preferredStyle: UIAlertControllerStyle.alert) // OKアクション生成. let OkAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.default) { (action: UIAlertAction!) -> Void in print("OK") } // Cancelアクション生成. let CancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.destructive) { (action: UIAlertAction!) -> Void in print("Cancel") } // AlertにTextFieldを追加. myAlert.addTextField { (textField: UITextField!) -> Void in // 入力された文字を非表示にする. textField.isSecureTextEntry = true // NotificationCenterを生成. let myNotificationCenter = NotificationCenter.default // textFieldに変更があればchangeTextFieldメソッドに通知. myNotificationCenter.addObserver(self, selector: #selector(ViewController.changeTextField(sender:)), name: NSNotification.Name.UITextFieldTextDidChange, object: nil) } // Alertにアクションを追加. myAlert.addAction(OkAction) myAlert.addAction(CancelAction) // Alertを発動. present(myAlert, animated: true, completion: nil) } /* textFieldに変更が会った時に通知されるメソッド. */ internal func changeTextField (sender: NSNotification) { let textField = sender.object as! UITextField // 入力された文字を表示. print(textField.text!) } } Swift 2.3 // // ViewController.swift // UIKit041_2.3 // // Created by KimikoWatanabe on 2016/08/21. // Copyright © 2016年 FaBo, Inc. All rights reserved. // import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() self.view.backgroundColor = UIColor.cyanColor() let myButton = UIButton(frame: CGRectMake(0, 0, 200, 40)) myButton.layer.position = CGPointMake(self.view.frame.width/2, 200) myButton.layer.cornerRadius = 20.0 myButton.backgroundColor = UIColor.redColor() myButton.setTitle("UIAlertを発動", forState: .Normal) myButton.addTarget(self, action: #selector(ViewController.onClickMyButton(_:)), forControlEvents: .TouchUpInside) self.view.addSubview(myButton) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } /* ボタンアクション時に設定したメソッド. */ internal func onClickMyButton(sender: UIButton) { // Alert生成. let myAlert: UIAlertController = UIAlertController(title: "title", message: "message", preferredStyle: UIAlertControllerStyle.Alert) // OKアクション生成. let OkAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default) { (action: UIAlertAction!) -> Void in print("OK") } // Cancelアクション生成. let CancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Destructive) { (action: UIAlertAction!) -> Void in print("Cancel") } // AlertにTextFieldを追加. myAlert.addTextFieldWithConfigurationHandler { (textField: UITextField!) -> Void in // 入力された文字を非表示にする. textField.secureTextEntry = true // NotificationCenterを生成. let myNotificationCenter = NSNotificationCenter.defaultCenter() // textFieldに変更があればchangeTextFieldメソッドに通知. myNotificationCenter.addObserver(self, selector: #selector(ViewController.changeTextField(_:)), name: UITextFieldTextDidChangeNotification, object: nil) } // Alertにアクションを追加. myAlert.addAction(OkAction) myAlert.addAction(CancelAction) // Alertを発動. presentViewController(myAlert, animated: true, completion: nil) } /* textFieldに変更が会った時に通知されるメソッド. */ internal func changeTextField (sender: NSNotification) { let textField = sender.object as! UITextField // 入力された文字を表示. print(textField.text!) } } 2.3と3.0の差分 UIColorの参照方法が変更(UIColor.grayColor()->UIColor.gray) CGRect,CGPointの初期化方法の変更(CGRectMake,CGPointMakeの廃止) UIAlertの一部メソッド名の変更(addTextFieldWithConfigurationHandler->addTextField)

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.