[英]Dynamically change font size on a UISegmentControl
I'm trying to change the adjustsFontSizeToFitWidth property on a UISegmentControl. 我正在尝试更改UISegmentControl上的adjustsFontSizeToFitWidth属性。
This is what I have so far (that isn't working): 这是我到目前为止(不起作用)的内容:
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;
}
}
}
Any suggestions on this logic (logically, whats wrong with it?) - or go down a separate path? 关于此逻辑的任何建议(从逻辑上讲,这有什么问题?)-还是走另外一条路?
After a bit of messing around I found out that you need to call layoutifneeded before destroying the label. 经过一番混乱后,我发现您需要在销毁标签之前调用layoutifneeded。
So working code looks like: 因此,工作代码如下所示:
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];
}
}
}
:) :)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.