我试图更改UISegmentControl上的adjustsFontSizeToFitWidth属性。
这是我到目前为止所做的事情(那是不行的):
for (id segment in [self.regionTypeSC subviews])
{
for (id label in [segment subviews])
{
if ([label isKindOfClass:[UILabel class]])
{
UILabel *labelOfSegment = (UILabel *)label;
labelOfSegment.numberOfLines = 1;
labelOfSegment.minimumScaleFactor = 4.0/[UIFont labelFontSize];
labelOfSegment.adjustsFontSizeToFitWidth = YES;
}
}
}
关于这种逻辑的任何建议(逻辑上,它有什么问题吗?) - 或者走另一条道路?
答案 0 :(得分:0)
经过一番乱搞之后,我发现你需要在销毁标签之前打电话给layoutifneeded。
所以工作代码如下:
for (id segment in [self.regionTypeSC subviews])
{
for (id label in [segment subviews])
{
if ([label isKindOfClass:[UILabel class]])
{
UILabel *labelOfSegment = (UILabel *)label;
labelOfSegment.numberOfLines = 1;
labelOfSegment.minimumScaleFactor = 4.0/[UIFont labelFontSize];
labelOfSegment.adjustsFontSizeToFitWidth = YES;
[self.regionTypeSC layoutIfNeeded];
}
}
}
:)