您的位置:首页 > 产品设计 > UI/UE

UIDatePicker 高度的设置

2016-05-10 14:34 507 查看
最近在做项目的时候遇到了一个坑,项目中需要用到DatePicker时间选择器,xcode是7.3的,支持的ios系统是最新的ios9.3,自己的手机也是最新系统,在自测的时候DatePicker在我的View中展示的非常完美,可是我们的测试人员就拿着测试机来找我了...在这里说明一下测试的手机是ios8.3的系统,在测试手机中显示的DatePicker非常大,大到我自己都傻眼了(宝宝心里苦)先来看一下有问题的代码:

_datePicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(10, 50,_view.frame.size.width-20  , 140)];//初始化时间选择器
//_datePicker.backgroundColor=[UIColor magentaColor];
_datePicker.datePickerMode =UIDatePickerModeDate;
NSLocale *locale = [[NSLocale alloc]initWithLocaleIdentifier:@"zh_CN"];
_datePicker.locale=locale;
[_view addSubview:_datePicker];


这样写的问题是,你怎么改变frame的大小,它都是固定的,通过搜索一些相关资料我有了以下解决方法:

_datePicker = [[UIDatePicker alloc]init];//初始化时间选择器
_datePicker.frame = CGRectMake(10, 50,_view.frame.size.width-20  , 140);
//_datePicker.backgroundColor=[UIColor magentaColor];
_datePicker.datePickerMode =UIDatePickerModeDate;
NSLocale *locale = [[NSLocale alloc]initWithLocaleIdentifier:@"zh_CN"];
_datePicker.locale=locale;
[_view addSubview:_datePicker];


什么嘛,原来就是只把frame和init分开来写了,Of course 接下来就来讲一下什么原因:

当手机系统为iOS9一下的手机,DatePicker的init和frame一起写的话就会出现怎么改变frame,实际显示的效果都是死的,高度都是216,而iOS9以上则不会有影响。那么为了避免这样的问题,当然把DatePicker的init和frame分开来写就一切都解决了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  DatePicker ios