Многострочный текст в UIsegment Control - PullRequest
0 голосов
/ 09 января 2012

У меня есть UISegmentControl со стилем по умолчанию (белый). Я хочу добавить текст на нем. Но текст, который я хочу поставить, это длинный текст.

Мне нужно показать текст в 2 строки сегмента. Но мне не нужно увеличивать ширину сегмента из-за ограничения ширины экрана и отсутствия сегментов.

Я пытался программно наложить метку на элемент управления сегментом, но моя метка не отображается. Хотя мы можем поставить метку на сегментном контроле, используя XIB. но из-за динамического характера управления текстом и сегментами мне приходится программно рисовать элемент управления сегментами, а также помещать на него текст.

Руководство будет оценено.

1 Ответ

0 голосов
/ 09 января 2012

Привет, у друга в контроллере сегмента уже есть метка в качестве подпредставления, поэтому этот код полезен для управления многострочным преобразованием текста в сегменты

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; 

        }
    }           
}

Хорошего дня

...