1

DateTimeRow() の開始時刻を設定して、日付をクリックするたびに DateTime ピッカーの時刻が午前 7 時 30 分になるように設定しようとしています。

次のコードは、日付ピッカーを回転させずに、表示テキストのみを変更しています。

row = DateTimeRow() {
    $0.minuteInterval = 30
}.onCellSelection({(cell,row) in
    if row.baseCell.detailTextLabel?.text == nil {

    // Setup the start date
    var currentDate = NSDate() as Date
    currentDate = currentDate.setHoursMinutes(hour: 7, minute: 30)
    let dateFormatter = DateFormatter()
    dateFormatter.timeStyle = .short
    dateFormatter.dateStyle = .short
    dateFormatter.locale = NSLocale.current

    // This will show the current day date with time of 7:30 AM
    row.baseCell.detailTextLabel?.text = dateFormatter.string(from: currentDate)
}

ピッカーに直接アクセスして setDate を呼び出す方法はありますか:

timePicker.setDate([My Date here], animated: true)

日付ピッカーが更新されていないときに表示テキスト ラベルが更新される

ありがとうございます

4

1 に答える 1

1

私はあなたの質問に取り組んでいました。まず、onCellSelectionコールバックでセルを設定しています。このようなセル作成で日付値を設定する必要があると思います

 <<< DateTimeRow() {
            var currentDate = Date()
            currentDate = currentDate.setHoursMinutes(hour: 7, minute: 30)
            $0.value = currentDate
            }

またはcellSetupコールバックを使用する必要があり、異なるdateTimeを表示したい場合は、onCellSelectionコールバックを実装する必要があります

<<< DateTimeRow().cellSetup({ (dateCell, dateTimeRow) in
                        // Setup the start date
                        let currentDate = Date()
                        currentDate = currentDate.setHoursMinutes(hour: 7, minute: 30)
                        dateTimeRow.dateFormatter?.dateStyle = .short
                        dateTimeRow.dateFormatter?.timeStyle = .short
                        //dateFormatter.locale = NSLocale.current
                        dateCell.row.value = currentDate
            }).onCellSelection({ (cell, row) in
                //If you want to show different date 
                let currentDate = NSDate() as Date
                currentDate.setHoursMinutes(hour: 9, minute: 30)    
                cell.datePicker.date = currentDate
            })

これがお役に立てば幸いです。

于 2016-11-06T14:56:18.483 に答える