我在不同的视图控制器中有几个UISegmentedControls。在iPad上,当设备改变方向时,我将这些段重新对齐,以便它们与下面的UITableViews对齐。我看到的问题是,虽然调整大小的面具是为UISegmentedControl设置的,并且没有任何我的代码,但它调整大小以填充正确的宽度,一旦我尝试更改内部分段的宽度,分段将不伸展一路走到最后,否则他们会变得太大而过去。在SplitView中的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];
}
起初我以为这可能是由动画引起的,但即使加入了延迟,所以旋转动画已经完全结束在宽度没有影响。 splitview中的控件是否给出了错误的宽度或者什么?
UI实际上是从故事板加载的,因此以编程方式重新创建它看起来像是一个拙劣的解决方案。 – Echilon 2012-04-13 08:33:40