Ios 被采摘者压垮了。正在尝试在viewDidLoad()中为func预设.hour和.minute
我花了2.5个小时搜索谷歌,我想我这辈子都没有上过谷歌搜索第10页。直到今天 我是swift的新手,我想让应用程序打开带有UIDatePicker(datepickermode:time)的新viewcontroller,该UIDatePicker预设为用户选择上次使用datepicker设置时间的时间。基本上就像iphone闹钟,如果有帮助的话 包含.hour和.minute(整数)的结构“Time”有自己的类 我想要一个用viewDidLoad()执行并设置时间选择器的小函数Ios 被采摘者压垮了。正在尝试在viewDidLoad()中为func预设.hour和.minute,ios,swift,xcode,date,datepicker,Ios,Swift,Xcode,Date,Datepicker,我花了2.5个小时搜索谷歌,我想我这辈子都没有上过谷歌搜索第10页。直到今天 我是swift的新手,我想让应用程序打开带有UIDatePicker(datepickermode:time)的新viewcontroller,该UIDatePicker预设为用户选择上次使用datepicker设置时间的时间。基本上就像iphone闹钟,如果有帮助的话 包含.hour和.minute(整数)的结构“Time”有自己的类 我想要一个用viewDidLoad()执行并设置时间选择器的小函数 @IBA
@IBAction func timePicker(_ sender: UIDatePicker) {
let picker = timePicker.date
getTime(date: picker)
print(globalTime.savedTime)
}
func oldTime(withTime: TimeStruct.Time) {
var newTime = DateComponents()
newTime.hour = withTime.hour
newTime.minute = withTime.minute
var newDate = Date()
timePicker.calendar.
//blabliblub i've lost it here. the code makes no sense anymore
}
func getTime(date: Date) {
let components = Calendar.current.dateComponents([.hour, .minute], from: date)
globalTime.savedTime.hour = components.hour!
globalTime.savedTime.minute = components.minute!
}
一旦设置,getTime将保存时间。当再次查看以再次更改时,oldTime为选择器提供先前设置的时间
用户设置时间并单击保存按钮,将当前小时和分钟保存为“时间”类型的变量
哦,如果可能的话,请帮助我使用Date(),而不是NSDate()
非常感谢您抽出时间
费利克斯✌️ 您尝试过使用普通选择器吗?日期选择器是具有某些内置函数的模板。然而,一个普通人也许能做你需要它做的一切。例如,只需创建一个包含3个组件(0、1和2)的普通选择器,通过执行以下操作控制小时-分钟和PM/AM:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.Picker.delegate = self
self.Picker.dataSource = self
PickerData = [["0","1",/*...*/,"9"],["0","1",/*...*/,"9"],["AM","PM"]]
self.Picker.selectRow(row: /*var*/, inComponent: /*component*/, animated: /*bool*/)
} /*Insert data from previous session above via a variable*/
及
希望这对任何人都有帮助。感谢您的进一步帮助:) 另一个文件:
import UIKit
class TimeStruct {
struct Time {
var hour: Int
var minute: Int
}
var savedTime = Time(hour: 07, minute: 00)
}
谢谢你,这很有道理。虽然它实际上支持以后作为警报工作:小时、分钟、上午/下午是否足以创建每天在这个时间触发的警报?还是我需要一个完整的约会?在我发布后不久,我自己也解决了这个问题。你重写了日期选择器:D(除了它不再处理本地化和12对24小时之类的事情),好吧,所以它必须和日期一样复杂。非常感谢。通知对我来说将是另一件值得学习的大事。我很期待。
import UIKit
var globalTime = TimeStruct()
class Time_Setting: UIViewController {
func oldTime(withTime: TimeStruct.Time) {
let newHour = withTime.hour
let newMinute = withTime.minute
let someDate = Date()
let newTimePicker = timePicker.calendar.date(bySettingHour: newHour, minute: newMinute, second: 0, of: someDate)
timePicker.date = newTimePicker!
}
}
import UIKit
class TimeStruct {
struct Time {
var hour: Int
var minute: Int
}
var savedTime = Time(hour: 07, minute: 00)
}