Ios 从日期选择器中获取日期并在标签中显示

Ios 从日期选择器中获取日期并在标签中显示,ios,iphone,objective-c,Ios,Iphone,Objective C,我尝试过以下代码: -(IBAction)btn_strtPeriodclicked:(id)sender{ UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 250, 0, 0)]; // ... populate your date picker and format it as you see fit. [self.view addSubview:datePick

我尝试过以下代码:

-(IBAction)btn_strtPeriodclicked:(id)sender{
    UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 250, 0, 0)];
    // ... populate your date picker and format it as you see fit.
    [self.view addSubview:datePicker];   
}
pickerView显示的颜色太浅。我的问题是:

  • 如何使选择器视图正确可见
  • 如何删除选择器视图
  • 如何在标签中显示日期
  • 无法更改
    UIDatePicker
    的外观
  • 您可以将其存储在属性中,并在需要将其从superview中删除时调用
    [datePicker removeFromSuperview]
  • 您需要一个日期格式化程序来从日期获取字符串值。有些人喜欢这样:

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateStyle:NSDateFormatterMediumStyle];
    [dateFormatter setTimeStyle:NSDateFormatterShortStyle];
    
    以及设置带有日期的标签:

    self.dateLabel.text = [dateFormatter stringFromDate:datePicker.date];
    

  • 您必须为日期选择器创建视图,并在该视图中添加日期选择器。首先,隐藏日期选择器视图的框架

    首先为.h中的视图和日期选择器创建属性并与IBOutlet连接

    @property (strong, nonatomic) IBOutlet UIView *datePickerView;
    @property (strong, nonatomic) IBOutlet UIDatePicker *dobPicker;
    
    和viewDIdload()删除datepickerview

    -(void)viewDidLoad()
    {
    
    [self.datePickerView removeFromSuperview];
    }
    
    执行操作时,显示视图

    - (IBAction)showDate
    {
    UIView *toView;
    
            self.datePickerView.tag =42;
            toView  =   self.datePickerView;
            toView.frame = CGRectMake(0, 210, 320, 206);
            [self.view addSubview:toView];
    }
    
    然后选择日期并将其转换为字符串以在标签中显示

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    [formatter setDateFormat:@"dd-MMM-yyyy"];
    
    NSDate *date = [self.dobPicker date];
    
    self.label.text = [formatter stringFromDate:birthday];
    
    要隐藏在该datepickerview中,请添加另一个customview和自定义按钮右键隐藏datepicker操作以再次删除该视图。您的视图应该是这样的,并为“完成”按钮创建操作

    - (IBAction)Done:(id)sender {
        for (UIView *view in [self.view subviews])
        {
            if (view.tag == 42 ) {
                [view removeFromSuperview];
            }
        }
    }
    

    如需了解更多信息,请参阅此视频

    我无法从选择器视图中选择日期..我无法选择日期。是否必须在此处执行触摸编码我添加了答案请检查
    - (IBAction)Done:(id)sender {
        for (UIView *view in [self.view subviews])
        {
            if (view.tag == 42 ) {
                [view removeFromSuperview];
            }
        }
    }