有没有办法减少适合单段的字体大小UISegmentedControl?
尝试了很多类似的东西,
[[UILabel appearanceWhenContainedIn:[UISegmentedControl class], nil] adjustsFontSizeToFitWidth];
[[UILabel appearanceWhenContainedIn:[UISegmentedControl class], nil] setMinimumScaleFactor:0.5];
Run Code Online (Sandbox Code Playgroud)
和
NSArray *arr = segment.subviews; // segment is UISegmentedControl object
for (int i = 0; i < arr.count; i++) {
UIView *aSegment = [arr objectAtIndex:i];
for (UILabel *label in aSegment.subviews) {
if ([label isKindOfClass:[UILabel class]]) {
UILabel *myLabel = (UILabel *)label;
[myLabel setNumberOfLines:0];
label.numberOfLines = 0;
label.adjustsFontSizeToFitWidth = YES;
label.minimumScaleFactor = 0.5;
}
}
}
Run Code Online (Sandbox Code Playgroud)
能够设置段标签的行数,如,
[[UILabel appearanceWhenContainedIn:[UISegmentedControl class], nil] setNumberOfLines:0];
Run Code Online (Sandbox Code Playgroud)
可以根据内容设置单段大小,如,
segment.apportionsSegmentWidthsByContent = YES;
Run Code Online (Sandbox Code Playgroud)
但在这种情况下,每个细分市场的规模都不同 …