enter image description here我有一个 UIDatePicker,带有用于显示日期的标签和一个用于显示 Datepicker 的按钮。当我第一次单击该按钮时,它显示了 datepicker,但是在我设置日期并单击 done 按钮后,datepicker 被隐藏。然后当我再次单击显示日期选择器的按钮时,它没有显示。 这是我的代码:
#import "ViewController.h"
@interface ViewController ()
@property (strong, nonatomic) IBOutlet UIDatePicker *datepicker;
@property (strong, nonatomic) IBOutlet UIButton *btnDone;
@property (strong, nonatomic) IBOutlet UILabel *selectedDate;
@property (strong, nonatomic) IBOutlet UIToolbar *toolBar;
@end
@implementation ViewController
@synthesize btnDone,datepicker;
- (void)viewDidLoad {
self.datepicker.hidden = YES;
self.toolBar.hidden = YES;
[self.datepicker addTarget:self action:@selector(datePickerChanged:) forControlEvents:UIControlEventValueChanged];
}
- (void)datePickerChanged:(UIDatePicker *)datePicker
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy HH:mm"];
NSString *strDate = [dateFormatter stringFromDate:datePicker.date];
self.selectedDate.text = strDate;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)show:(id)sender
{
[UIView animateWithDuration:0.5
delay:0.1
options: UIViewAnimationOptionCurveEaseIn
animations:^{
self.datepicker.hidden = NO;
self.toolBar.hidden = NO;
}
completion:^(BOOL finished){
}];
self.datepicker.hidden = NO;
self.toolBar.hidden = NO;
}
-(IBAction)HidePicker:(id)sender{
[UIView animateWithDuration:0.5
animations:^{
datepicker.frame = CGRectMake(0, -250, 320, 50);
} completion:^(BOOL finished) {
[datepicker removeFromSuperview];
[btnDone removeFromSuperview];
[_toolBar removeFromSuperview];
}];
[self.datepicker removeFromSuperview];
}
最佳答案
已解决:
#import "ViewController.h"
@interface ViewController ()
@property (strong, nonatomic) IBOutlet UIDatePicker *datepicker;
@property (strong, nonatomic) IBOutlet UIButton *btnDone;
@property (strong, nonatomic) IBOutlet UILabel *selectedDate;
@property (strong, nonatomic) IBOutlet UIToolbar *toolBar;
@end
@implementation ViewController
@synthesize btnDone,datepicker;
- (void)viewDidLoad {
self.datepicker.hidden = YES;
self.toolBar.hidden = YES;
[self.datepicker addTarget:self action:@selector(datePickerChanged:) forControlEvents:UIControlEventValueChanged];
}
- (void)datePickerChanged:(UIDatePicker *)datePicker
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSString *strDate = [dateFormatter stringFromDate:datepicker.date];
self.selectedDate.text = strDate;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)show:(id)sender
{
[self.view addSubview:datepicker];
self.toolBar.hidden = NO;
self.datepicker.hidden = NO;
self.btnDone.hidden=NO;
}
-(IBAction)HidePicker:(id)sender
{
self.datepicker.hidden = YES;
self.toolBar.hidden = YES;
self.btnDone.hidden=YES;
}
关于ios - 单击按钮时 UIDatePicker 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34604462/