繁体   English   中英

UISegmentedControl和本地化字符串

[英]UISegmentedControl and localized strings

我有一个带有3个段的UISegmentedControl。 英文字符串非常合适,但西班牙语字符串稍微长一些,而不是。

在此输入图像描述

在此输入图像描述

动态操作字体大小以使字符串适合段大小的正确步骤是什么? 是否有类似于UILabelminimumFontScale属性?

试试这个

[_segmentedControl.subviews enumerateObjectsUsingBlock:^(UIView * obj, NSUInteger idx, BOOL *stop) {
    [obj.subviews enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
        if ([obj isKindOfClass:[UILabel class]]) {
            UILabel *lblCaption = (UILabel *)obj;
            lblCaption.minimumFontSize=10.0f;
//OR
            lblCaption.minimumFontSize = 0.5f;
        }
    }];     
}];

试试这个你不需要设置任何最小字体大小。 如果需要,它将自动更改字体大小以显示标题。

NSArray *itemArray = [NSArray arrayWithObjects: @"Title1 testing font size", @"Title2", @"Titl3",nil];
    UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:itemArray];
    segmentedControl.frame = YOUR_FRAME;
    [segmentedControl addTarget:self action:@selector(segmentControlClicked:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:segmentedControl];
    for (id segment in [segmentedControl subviews])
    {
        for (id label in [segment subviews])
        {
            if ([label isKindOfClass:[UILabel class]])
                [label setAdjustsFontSizeToFitWidth:YES];

        }           
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM