来自 澳门金莎娱乐手机版 2019-11-28 05:45 的文章
当前位置: 金沙澳门官网网址 > 澳门金莎娱乐手机版 > 正文

UIalertController日期控件

UIalertController日期控件,uialertcontroller

效果图

图片 1

思路是依赖 UIalertController的可观是由内容决断,修正其view 就能够

第一没有必要改正该类的伊始化(因为只是修正其view的界面)

继承UIalertController的.h文件

#import <UIKit/UIKit.h>
typedef void(^BlockDate)(id date);
@interface SheetDate : UIAlertController

@property(nonatomic,copy)BlockDate blockDate;
@property(retain,nonatomic)UIDatePicker* datePicker;

-(NSString*)dealDate;
-(void)addDatePicker;

@end

继承UIalertController的.m文件

#import "SheetDate.h"

@interface SheetDate ()
@end

@implementation SheetDate

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
/**
 *  添加日期控件
 */
-(void)addDatePicker
{
        self.datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 0, 320, 216)];
        self.datePicker.datePickerMode = UIDatePickerModeDate;
        self.datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];
        [self.view addSubview:self.datePicker];


}
/**
 *  处理日期数据
 *
 *  @return
 */
-(NSString*)dealDate
{
    NSDateFormatter * formatter = [[NSDateFormatter alloc ] init];
    if (self.datePicker.datePickerMode==UIDatePickerModeTime)
    {
        [formatter setDateFormat:@"HH:ss"];
    }
    else
    {
        [formatter setDateFormat:@"YYYY-MM-dd"];
    }

    NSString* currentTime = [formatter stringFromDate:self.datePicker.date];
    return currentTime;

}

接下来是选择

/**
 *  日期/时间选择
 *
 *  @param sender
 */
- (IBAction)chooseDate:(UIButton *)sender
{
    SheetDate* sheetDate=[SheetDate alertControllerWithTitle:nil
                                                     message:@"nnnnnnnnnn"
                                              preferredStyle:(UIAlertControllerStyleActionSheet)];
    [sheetDate addDatePicker];
    sheetDate.blockDate=^(NSString* date)
    {
        [sender setTitle:date
                forState:(UIControlStateNormal)];

    };
    //开始时间,结束时间
    if (sender.tag==70||sender.tag==71)
    {
        sheetDate.datePicker.datePickerMode=UIDatePickerModeTime;
    }
    UIAlertAction* ok=[UIAlertAction actionWithTitle:@"确定"
                                               style:(UIAlertActionStyleDefault)
                                             handler:^(UIAlertAction * __nonnull action)
    {
        sheetDate.blockDate([sheetDate dealDate]);

    }];
    [sheetDate addAction:ok];
    [self presentViewController:sheetDate
                       animated:YES
                     completion:nil];

首先使用系统的不二诀窍创造uialertcontroller对象,使用n是因为急需扩张突显的冲天,然后调用[sheetDate addDatePicker]加多自定义分界面,根据事态开始化使用日期数据的block

接下来在sheet的取舍中触发就足以了。

效果图 思路是借助 UIalertController的可观是由内容剖断,改进其view 就可以首先无需更换该类的开端化...

本文由金沙澳门官网网址发布于澳门金莎娱乐手机版,转载请注明出处:UIalertController日期控件

关键词: