1
私は独自のカスタムUISegmentedControlサブクラスを持っています。ボタンは標準サイズよりも大きいです。各ボタンの幅は100.0ポイントです。UISegmentedControlのボタンのサイズはどこで設定しますか?
@implementation SegmentedControlExplore
- (id) init
{
return [super
initWithItems:[NSArray arrayWithObjects:
@"Uno",
@"Dos",
nil
]
];
}
- (void) layoutSubviews
{
for (NSUInteger i = 0; i < self.numberOfSegments; i++) {
[self setWidth:100.0 forSegmentAtIndex:i];
}
[super layoutSubviews];
}
@end
コントローラでこれを使用しようとすると、UINavigationBarの中央に配置できませんでした。
SegmentedControl* sc = [[[SegmentedControl alloc] init] autorelease];
[self.navigationController.navigationBar addSubview:sc];
sc.center = self.navigationController.navigationBar.center;
右にずれがあります。なぜなら、ボタンのサイズ設定は、実際にはそのcenterプロパティが変更された後に呼び出されるからです。では、ボタンのサイズ設定をどこに移動すればよいのですか?私はinitに移動しようとしましたが、サイズは変更されませんでした。