enter image description here我有一个UIDatePicker,带有用于显示日期的标签和一个用于显示Datepicker的按钮 . 当我第一次单击按钮时,它显示了datepicker但是在我设置了日期并单击完成按钮后,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];
}
3 回答
解决了 :
您必须从代码中删除此语法,然后它才会起作用:
[self.datepicker removeFromSuperview];