星空网 > 软件开发 > 操作系统

UIalertController日期控件

效果图

UIalertController日期控件images/loading.gif' data-original="http://images2015.cnblogs.com/blog/657299/201511/657299-20151109113616275-755023690.jpg" />

思路是依靠 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:@"\n\n\n\n\n\n\n\n\n\n"                       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日期控件

关键词:日期

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

亚马逊好做吗? 亚马逊卖家如何处理滞销产品?:https://www.kjdsnews.com/a/778508.html
出海跨境之路怎么走?这几大关键词你掌握了吗:https://www.kjdsnews.com/a/778510.html
做外贸网站要多少钱?:https://www.kjdsnews.com/a/778511.html
​卖家速看!亚马逊中那些防不胜防的恶意竞争手段:https://www.kjdsnews.com/a/778512.html
国外主流在线聊天工具有哪些?:https://www.kjdsnews.com/a/778513.html
你投的广告去哪了?亚马逊广告分类及展示位介绍:https://www.kjdsnews.com/a/778514.html
上海动物园地址及交通路线详解(带你轻松找到它的秘密入口):https://www.vstour.cn/a/404244.html
南宫温泉庄园酒店-南宫温泉庄园酒店:https://www.vstour.cn/a/404245.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流