さまざまなビュー コントローラーにいくつかの 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];
}
最初はアニメーションが原因かと思いましたが、回転アニメーションが完全に終了するように遅延を追加しても、幅には影響しません。スプリットビュー内のコントロールは、誤った幅または何かを与えられていますか?