【发布时间】:2020-01-13 12:01:18
【问题描述】:
我有一个视图,其中设置了两个日期选择器,分别覆盖整个视图的高度和半个宽度,以便它们填满整个视图。
然后我为每个选择器添加了一个叠加层,以使选择更可见,如下所示:
-(void)drawOverlays {
if (_overlay1 != nil) {
[_overlay1 removeFromSuperview];
}
if (_overlay2 != nil) {
[_overlay2 removeFromSuperview];
}
_overlay1 = [[UIView alloc] initWithFrame:CGRectMake(_startPicker.bounds.origin.x, (_startPicker.frame.size.height/2)-19, _startPicker.bounds.size.width, 38)];
_overlay1.backgroundColor = [UIColor redColor];
_overlay1.alpha = 0.5f;
[_startPicker addSubview:_overlay1];
_overlay2 = [[UIView alloc] initWithFrame:CGRectMake(_endPicker.bounds.origin.x, (_endPicker.frame.size.height/2)-19, _endPicker.bounds.size.width, 38)];
_overlay2.backgroundColor = [UIColor redColor];
_overlay2.alpha = 0.5f;
[_endPicker addSubview:_overlay2];
}
我从 -viewDidLayoutSubviews 方法和 -viewWillTransitionToSize:withTransitionCoordinator 方法调用此方法,第一次出现视图时一切正常。
然后我旋转我的iPad,覆盖显示为倒置,这意味着在landscape 中,覆盖是我想要的portrait 的大小,反之亦然。
我的代码有什么问题?
【问题讨论】:
标签: ios autolayout uiinterfaceorientation