我在不同的视图控制器中有几个 UISegmentedControls。在 iPad 上,当设备改变方向时,我会重新对齐其中的段,以便它们与下面的 UITableViews 对齐。我看到的问题是,虽然为 UISegmentedControl 设置了调整大小掩码并且没有我的任何代码,但它会调整大小以填充正确的宽度,一旦我尝试更改其中的段的宽度,分段将不会拉伸一直到最后,否则它们会太大而超过。
这似乎只发生在控件处于拆分视图中时。
- (void)orientationChanged:(NSNotification *)notification {
[self setHeaderWidths];
}
-(void)setHeaderWidths{
int totalWidth = self.segSorter.bounds.size.width;
int areaWidth = 100,
priceWidth = 100;
int padding = 35;
[self.segSorter setWidth:totalWidth -padding- areaWidth-priceWidth forSegmentAtIndex:0];
[self.segSorter setWidth:areaWidth forSegmentAtIndex:1];
[self.segSorter setWidth:priceWidth forSegmentAtIndex:2];
}
最初我认为这可能是由动画引起的,但即使添加延迟以使旋转动画完全完成也不会影响宽度。拆分视图中的控件是否给出了错误的宽度或其他内容?