国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

UIalertController日期控件

2019-11-14 17:58:17
字體:
來源:轉載
供稿:網友

效果圖

思路是依靠 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;/** *  單例 */+(SheetDate *)defaultSheetDate;@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 if(self.datePicker.datePickerMode==UIDatePickerModeDate)    {        [formatter setDateFormat:@"YYYY-MM-dd"];    }    else if(self.datePicker.datePickerMode==UIDatePickerModeDateAndTime)    {        [formatter setDateFormat:@"YYYY-MM-dd HH:ss"];    }        NSString* currentTime = [formatter stringFromDate:self.datePicker.date];    return currentTime;}/** *  單例 * *  @return */+(SheetDate *)defaultSheetDate{    //sheetDate只會實例化一次    static SheetDate* sheetDate=nil;    //保證線程安全,defaultSheetDate只執行一次    static dispatch_once_t once;    dispatch_once(&once, ^                  {                      sheetDate=[SheetDate alertControllerWithTitle:nil                                                            message:@"/n/n/n/n/n/n/n/n/n/n/n"                                                     preferredStyle:(UIAlertControllerStyleActionSheet)];                      [sheetDate addDatePicker];                      UIAlertAction* ok=[UIAlertAction actionWithTitle:@"確定"                                                                 style:(UIAlertActionStyleDefault)                                                               handler:^(UIAlertAction * __nonnull action)                                         {                                             sheetDate.blockDate([sheetDate dealDate]);                                                                                      }];                      [sheetDate addAction:ok];                  });        return sheetDate;}

添加的日期控件是以屬性形式添加的,可以根據情況配置。


首先使用系統的方法創建uialertcontroller對象,使用/n是因為需要擴大顯示的高度,然后調用[sheetDate addDatePicker]添加自定義界面,根據情況初始化使用日期數據的block

然后在sheet的選項中觸發就可以了。

然后是使用

/** *  選擇日期時間 * *  @param sender */- (IBAction)chooseDate:(UIButton *)sender{    SheetDate* sheetDate=[SheetDate defaultSheetDate];    sheetDate.datePicker.datePickerMode=UIDatePickerModeDateAndTime;    sheetDate.blockDate=^(NSString* date)    {        NSLog(@"%s/n%@",__FUNCTION__,date);        [sender setTitle:date                forState:(UIControlStateNormal)];            };    [self presentViewController:sheetDate                       animated:YES                     completion:nil];    }

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 雷山县| 陇川县| 长治县| 临澧县| 洞口县| 耿马| 三河市| 都兰县| 长泰县| 拜城县| 德惠市| 宁陕县| 五原县| 武穴市| 富平县| 保山市| 瑞丽市| 堆龙德庆县| 泰兴市| 荥阳市| 开封县| 河曲县| 吉安县| 涿州市| 锡林浩特市| 进贤县| 枣庄市| 乌兰察布市| 北安市| 沾益县| 永城市| 德令哈市| 阿鲁科尔沁旗| 怀宁县| 襄城县| 清新县| 湘潭市| 马关县| 库车县| 绥宁县| 枝江市|