我目前正在尝试实现一个UISegmentedControl,它使用不同的文本颜色到边框,但也跨越多行。
我已经成功地将这个问题分别用于多行
Two lines of text in a UISegmentedControl
for (id segment in [self.segmentedControl subviews]) {
for (id label in [segment subviews]) {
if ([label isKindOfClass:[UILabel class]]) {
UILabel *titleLabel = (UILabel *) label;
titleLabel.numberOfLines = 0;
[titleLabel setTextColor:[UIColor redColor]];
}
}
}
并使用外观代理作为文本颜色:
[ [UISegmentedControl appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor redColor]} forState:UIControlStateNormal ];
然而,只要我结合两种解决方案,我就失去了多线能力!我已经尝试将代码放在不同的顺序中,所以我在使用外观代理后循环遍历标签,但这不起作用。我也尝试使用自定义NSParagraphStyle和一个NSLineBreakByWorkWrapping的lineBreakingMode,但这也不起作用。
有没有人知道如何实现这个目标?