iOS DatePicker Frame的问题

今天发现项目中的datepicker在适配iOS8时出现如图所示问题,datapicker"整体右移"

iOS DatePicker Frame的问题_第1张图片

测试的iOS11上,是正常的。

原因

不想废话,原因是iOS8上 datepicker自身左边的空白区域较大。导致虽然你设的Frame是正确的,但是显示的时候似乎感觉向右侧移动了。

解决方案

其实解决方案有多种,我这里直接把Frame换成Masonry,完美解决。

之前的Frame设置:

self.datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(title.frame) + 1, 250, 200)];

改成Masonry后:

[self.datePicker mas_makeConstraints:^(MASConstraintMaker *make) {         
    make.left.equalTo(@0);
    make.right.equalTo(@0);
    make.top.equalTo(title.mas_bottom).offset(1);
    make.height.equalTo(@200);
}];
iOS DatePicker Frame的问题_第2张图片

你可能感兴趣的:(iOS DatePicker Frame的问题)