2017-03-03 4 views
0

このラベルは完全に動作しますが、日付は必要ありませんが、別のラベルに日付が表示されます。私は時間を表示するラベルが必要です。この私が、日付/時刻のラベルを持っているものです。私の日付/時間ラベルに日付がないようにする必要があります。誰もIOSのための方法を知っていますか?

func updateTime() { 
    TimeLabel.text = DateFormatter.localizedString(from: Date(), dateStyle: DateFormatter.Style.medium, timeStyle: DateFormatter.Style.short) 

} 

スウィフト3、IOS

答えて

2

・ホープ私のコードで働いていると、あなたにはまだ何か問題があることがわかります。

static var TIME_FORMAT: String = "hh:mm a" 
var date = Date() 
    let formatter = DateFormatter() 
      formatter.dateFormat = TIME_FORMAT 
      let time = formatter.string(from: date) 
      TimeLabel.text=time 
+0

ありがとうございます!私の時間を凍結させたり、カウントを止める方法を知っていますか?私はビューコントローラを開いた時を知る必要があります – DanielG

+0

@DanielG別の質問を作成し、ここにそのリンクをpingしてください。あなたの質問を1つのライナーで理解できないか、コードで質問を説明できません。 –

+0

@DanielG。私は、ヘルパーや定数クラスの例で静的変数を作成すると思う:openTimeABCVCとあなたのviewcontrollerのビューロード時にその値を更新し、いつでもあなたが更新したい時間を使用します。 –

2

ちょうど.noneにスタイルを変更します。これはSWIFT 3に役立つ

func updateTime() { 
    TimeLabel.text = DateFormatter.localizedString(from: Date(), dateStyle: DateFormatter.Style.none, timeStyle: DateFormatter.Style.short) 
} 
1

日付を削除するには、日付のスタイルをnoneに設定してください。 .noneためdocs

TimeLabel.text = DateFormatter.localizedString(
    from: Date(), dateStyle: .none, timeStyle: .short) 

は何のスタイルを指定しないと言っています。

これはあなたが混乱している理由だと思います。 noneはスタイルのない日付、つまり「スタイリッシュ」ではない日付だけを表しており、文字列には引き続き表示されると考えました。しかし、それは真実ではありません。 noneは文字通り日付を消します。

+0

ありがとうタイマー FUNCのcountDownTickを()を停止します!実際にそれを生き生ませたり、数えたりしない方法がありますか?その時間ラベルでビューコントローラを開くと、私の時間が凍結されていれば可能ですか? – DanielG

+0

ありがとうございます! @DanielGまず、現在の分に残っている秒数を取得します。数秒後にラベルを更新してください。その後、1分ごとにラベルを更新するタイマーを実行します。 – Sweeper

+0

ありがとうございます! 「繰り返し」を「false」に設定しました。 Timer.ScheduledTimer(timeInterval:0.1、target:self、selector:セレクタ(「updateTime」)、userInfo:nil、繰り返し:false) – DanielG

関連する問題