2015-12-05 5 views
0

Iam динамически генерирует UIButton, и когда я устанавливаю название названия без пробела, его отображение корректно. Для например:UIButton не показывает полное название?

NSString *myString=[[array valueForKey:@"optionName"] objectAtIndex:i]; 
NSLog(@"%@",myString); // myString=SampleTitle 
[button setTitle:myString forState:UIControlStateNormal]; 

и когда я установить имя с пространством его авто подрезки UIButton титул. Для например:

NSString *myString=[[array valueForKey:@"optionName"] objectAtIndex:i]; 
NSLog(@"%@",myString); // myString=SampleTitle Test 
[button setTitle:myString forState:UIControlStateNormal]; 

Его показывает, как этот

enter image description here

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

и мой размер UIButton просчитывает основан на названии

[button setTitle:myString forState:UIControlStateNormal]; 
     CGSize stringsize = [@"Prolonged inspiration" sizeWithFont:[UIFont systemFontOfSize:14]]; 
     //or whatever font you're using 
     [button setFrame:CGRectMake(x,y,stringsize.width+30,stringsize.height+20)]; 
+0

Вам нужно сделать кнопку больше или использовать меньший шрифт. – rmaddy

+0

Размер кнопки основывается на длине строки – Bangalore

+0

Обновите свой вопрос, как определить размер кнопки. – rmaddy

ответ

1

Наиболее вероятной причиной вашей проблемы является то, что вы рассчитать размер текста, используя шрифт, который, вероятно, отличается от шрифта кнопки. Настройте свой расчет на шрифт кнопки, а также на текст кнопки.

CGSize stringsize = [myString sizeWithFont:button.titleLabel.font]; 

В качестве примечания, метод sizeWithFont: был устаревшим назад в прошивкой 7.0. Если вы не поддерживаете iOS 6, вы должны заменить этот метод на правильную замену.

+0

ok Позвольте мне проверить это сейчас – Bangalore

+0

Его работа ... спасибо ... но он показывает устаревшие, так что есть и другой способ? – Bangalore

+0

есть ли способ увеличить мою высоту ячейки на основе этих динамических кнопок? – Bangalore

0

Попробуйте для версии IOS выше прошивки 7.0

CGSize textSize = { widthValue, CGFLOAT_MAX };    
CGRect frame = [text boundingRectWithSize:textSize 
             options:NSStringDrawingUsesLineFragmentOrigin 
            attributes:@{ NSFontAttributeName:font } 
             context:nil]; 
     size = CGSizeMake(frame.size.width, frame.size.height+1); 
Смежные вопросы