現在、境界線とは異なるテキストの色を使用するが、複数行にまたがる UISegmentedControl を実装しようとしています。
this question for multiline を使用して、両方の作業を別々に行うことができました
UISegmentedControl 内の 2 行のテキスト
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]];
}
}
}
テキストの色に Appearance プロキシを使用します。
[ [UISegmentedControl appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor redColor]} forState:UIControlStateNormal ];
ただし、両方のソリューションを組み合わせるとすぐに、マルチライン機能が失われます! コードをさまざまな順序で配置しようとしたので、外観プロキシを使用した後にラベルをループしますが、うまくいきません。また、NSLineBreakByWorkWrapping の lineBreakingMode でカスタム NSParagraphStyle を使用しようとしましたが、これも機能しません。
どうすればこれを達成できるか考えている人はいますか?