gpt4 book ai didi

ios - UIDatePicker 在 "done"按钮按下时获取 .date 属性

转载 作者:行者123 更新时间:2023-11-29 00:31:51 25 4
gpt4 key购买 nike

我有一个自定义 View ,带有 UIDatePicker 和顶部附加的完成按钮。

当我按下完成按钮时,我想获取 UIDatePicker 中的时间

当我按下按钮时收到错误(这是我所期望的,因为发送者是 UIBarButtonItem)并且更改日期时间按预期工作。

其他解决方案显示单独的选择器,但是,我想(如果可能)调用相同的选择器并获取所选内容,就像它在选择器 View 中滚动一样。

我想过更改选择器方法以将其作为 id 接收,但是,这不起作用。

这就是我目前正在做的事情,我觉得这可能很愚蠢:

UIView *v = [[UIView alloc] init];

// Create the date time picker
CGRect pickerFrame = CGRectMake(0, 0, 320, 216);
UIDatePicker *pView = [[UIDatePicker alloc] initWithFrame:pickerFrame];

pView.datePickerMode = UIDatePickerModeTime;
[pView addTarget:self action:@selector(dateTimePickerValueChanged:) forControlEvents:UIControlEventValueChanged];

dateTimePicker = pView;
[v addSubview:dateTimePicker];

// done button
CGRect toolBarFrame = CGRectMake(0, 0, 320, 44);
UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:toolBarFrame];
UIBarButtonItem *flexibleItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStylePlain target:self action:@selector(dateTimePickerValueChanged:)];
NSArray *toolBarItems = [NSArray arrayWithObjects:flexibleItem, doneButton, nil];
[toolBar setItems:toolBarItems];
[v addSubview:toolBar];

- (void)dateTimePickerValueChanged:(UIDatePicker *)datePicker {
NSLog(@"time on change: %@", datePicker.date);

图片引用:

enter image description here

最佳答案

编写不带参数的方法,并将您的 UIDatePicker 作为整个类的属性或全局对象,以便您可以从任何地方访问它。

现在以这种方式将您的方法传递给两个选择器,您将在完成按钮按下时获得日期。

- (void)dateTimePickerValueChanged {
NSLog(@"time on change: %@", datePicker.date);
}

关于ios - UIDatePicker 在 "done"按钮按下时获取 .date 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41557445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com