###前提・実現したいこと
ボタンをタップしたらDatepickerで指定した日時を取得したい
###試したこと
Googleで検索をしているのですが、良い解決方法がありません。ご教授お願いします。
###補足情報(言語/FW/ツール等のバージョンなど)
Swift3. Xcode8.2.1
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
以下のサイトを参考にして少し変更すればやりたいことができると思います。
投稿2017/02/11 02:22
総合スコア8490
0
iOS純正タイマーのようなdatePickerの表示を求めているか、それとも別のViewControllerにdatePickerを置くのか、はたまたtextFieldを使うのかで実装が変わってきますが、例えばこんな実装もあるかと思います。
swift
1import UIKit 2 3class FirstViewController: UIViewController { 4 5 @IBOutlet weak var label: UILabel! 6 7 @IBAction func Done(segue: UIStoryboardSegue) { 8 let secondVC = segue.source as! SecondViewController 9 let datePicker = secondVC.datePicker 10 11 let date = datePicker?.date 12 13 let formatter = DateFormatter() 14 formatter.dateStyle = .medium 15 formatter.timeStyle = .none 16 17 let dateText = formatter.string(from: date!) 18 19 label.text = dateText 20 } 21 22 override func viewDidLoad() { 23 super.viewDidLoad() 24 // Do any additional setup after loading the view, typically from a nib. 25 } 26 27 override func didReceiveMemoryWarning() { 28 super.didReceiveMemoryWarning() 29 // Dispose of any resources that can be recreated. 30 } 31 32 33}
swift
1 2import UIKit 3 4class SecondViewController: UIViewController { 5 6 @IBOutlet weak var datePicker: UIDatePicker! 7 8 override func viewDidLoad() { 9 super.viewDidLoad() 10 11 // Do any additional setup after loading the view. 12 } 13 14 override func didReceiveMemoryWarning() { 15 super.didReceiveMemoryWarning() 16 // Dispose of any resources that can be recreated. 17 } 18 19} 20
FirstVCにはUILabel,UIButtonを、SecondVCにはNavigationBarとBarButtonItem,そしてdatePickerを配置しています。
大事なのはunwind segueを使っているところ、そしてDone関数をFirstVCにおいてあるところです。(簡単に使い方だけ説明しますから必要ならググってみてください)
このコードを書いたあとstoryboardを以上のように配置してみてください。そしてDoneボタンのところでcontrol + クリックでそのままSecondVC上部にある一番右側のオレンジ色のアイコンにつなげてください。そうすると DoneWithSegue: と出るのでそれを選択するとunwindするようになります。
以上でボタンをタップするとdatePickerから日時が取得できるようになります。
投稿2017/02/11 15:12
総合スコア1349
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。