我知道这个问题被问了很多次,但我面临一个问题,当我点击按钮时我的日期选择器没有打开,选择后我想在标签中显示它的值。我的代码是,
datepicker = [[UIDatePicker alloc]init];
datepicker.datePickerMode = UIDatePickerModeDate;
UIToolbar *toolBar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, self.view.frame.size.height - 216 - 44, self.view.frame.size.width, 44)];
[toolBar setTintColor:[UIColor blackColor]];
UIBarButtonItem *doneBtn = [[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStylePlain target:self action:@selector(ShowSelectedDate)];
UIBarButtonItem *space = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
[toolBar setItems:[NSArray arrayWithObjects:doneBtn,space,nil]];
// _label1.text:datepicker.date;
-(void)ShowSelectedDate {
NSDateFormatter *fromatter = [[NSDateFormatter alloc]init];
[fromatter setDateFormat:@"dd/mm/yyyy"];
_label1.text = [NSString stringWithFormat:@"%@",[fromatter stringFromDate:datepicker.date]];
[_label1 resignFirstResponder];
}
Run Code Online (Sandbox Code Playgroud)
Kul*_*eep 11
您将为IBAction
您的按钮创建一个以调用以显示UIDatePicker
. 然后实现UIDatePicker
委托方法并设置标签的文本。
目标 C
全局定义
UIToolbar* toolbar;
UIDatePicker* picker;
Run Code Online (Sandbox Code Playgroud)
在你的头文件中:
-(IBAction)showDatePicker:(id)sender;
Run Code Online (Sandbox Code Playgroud)
在您的实现文件中
- (IBAction)showDatePicker:(id)sender {
picker = [[UIDatePicker alloc] init];
picker.backgroundColor = [UIColor whiteColor];
[picker setValue:[UIColor blackColor] forKey:@"textColor"];
picker.autoresizingMask = UIViewAutoresizingFlexibleWidth;
picker.datePickerMode = UIDatePickerModeDate;
[picker addTarget:self action:@selector(dueDateChanged:) forControlEvents:UIControlEventValueChanged];
picker.frame = CGRectMake(0.0, [UIScreen mainScreen].bounds.size.height - 300, [UIScreen mainScreen].bounds.size.width, 300);
[self.view addSubview:picker];
toolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, [UIScreen mainScreen].bounds.size.height - 300, [UIScreen mainScreen].bounds.size.width, 50)];
toolbar.barStyle = UIBarStyleBlackTranslucent;
toolbar.items = @[[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil], [[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(onDoneButtonClick)]];
[toolbar sizeToFit];
[self.view addSubview:toolbar];
}
-(void) dueDateChanged:(UIDatePicker *)sender {
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterLongStyle];
[dateFormatter setTimeStyle:NSDateFormatterNoStyle];
NSLog(@"Picked the date %@", [dateFormatter stringFromDate:[sender date]]);
YOUR_LABEL.TEXT = [dateFormatter stringFromDate:[sender date]];
}
-(void)onDoneButtonClick {
[toolbar removeFromSuperview];
[picker removeFromSuperview];
}
Run Code Online (Sandbox Code Playgroud)
斯威夫特 4.2
全局定义
var toolBar = UIToolbar()
var datePicker = UIDatePicker()
Run Code Online (Sandbox Code Playgroud)
在您的按钮操作中编写代码。
@IBAction func showDatePicker(_ sender: UIButton) {
datePicker = UIDatePicker.init()
datePicker.backgroundColor = UIColor.white
datePicker.autoresizingMask = .flexibleWidth
datePicker.datePickerMode = .date
datePicker.addTarget(self, action: #selector(self.dateChanged(_:)), for: .valueChanged)
datePicker.frame = CGRect(x: 0.0, y: UIScreen.main.bounds.size.height - 300, width: UIScreen.main.bounds.size.width, height: 300)
self.view.addSubview(datePicker)
toolBar = UIToolbar(frame: CGRect(x: 0, y: UIScreen.main.bounds.size.height - 300, width: UIScreen.main.bounds.size.width, height: 50))
toolBar.barStyle = .blackTranslucent
toolBar.items = [UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil), UIBarButtonItem(title: "Done", style: .done, target: self, action: #selector(self.onDoneButtonClick))]
toolBar.sizeToFit()
self.view.addSubview(toolBar)
}
@objc func dateChanged(_ sender: UIDatePicker?) {
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .long
dateFormatter.timeStyle = .none
if let date = sender?.date {
print("Picked the date \(dateFormatter.string(from: date))")
}
}
@objc func onDoneButtonClick() {
toolBar.removeFromSuperview()
datePicker.removeFromSuperview()
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10002 次 |
最近记录: |