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로 옮겨 보았지만 크기가 변하지 않았습니다.