UI分段控件上的多行文本

时间:2012-01-09 05:49:00

标签: iphone objective-c ios4 uisegmentedcontrol

我有一个默认样式的UISegmentControl(白色)。我想在上面添加文字。但是我想要提出的文字是一篇长篇文章。

我必须在段的2行中显示文字。但是我不必提高段的宽度因为屏幕宽度限制&没有细分。

我曾尝试以编程方式在分段控件上添加标签,但我的标签未显示。虽然我们可以使用XIB在分段控件上添加标签。但是由于文本的动态性和段控制,我必须以编程方式绘制段控制&也把文字放在上面。

指导将不胜感激。

1 个答案:

答案 0 :(得分:0)

好友段控制器已经将标签作为子视图,因此该代码有助于实现多行文本分段控制

for (id segment in [segmentedControl subviews]) 
{
    for (id label in [segment subviews]) 
    {
        if ([label isKindOfClass:[UILabel class]])
        {
            //hear u add any of delegate function to increase the height and other label functionality in this 
            [label setTextAlignment:UITextAlignmentCenter];
            [label setFont:[UIFont boldSystemFontOfSize:12]];
//to adjust the label size manually with respect to text use below code
  CGSize labelSize = CGSizeMake(100, 80);
  CGSize theStringSize = [label.text sizeWithFont:label.font constrainedToSize:labelSize];
  CGRect frame = label.frame;
  frame.size = theStringSize; 

        }
    }           
}

祝你有个美好的一天