2015-12-05 62 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:在IOS 7.0被废弃了。除非您还支持iOS 6,否则应该使用正确的替换替换该方法。

+0

好吧,让我现在检查它 – Bangalore

+0

它的工作......谢谢......但它显示已弃用,所以还有其他方式吗? – Bangalore

+0

有没有什么办法可以根据这些动态按钮来增加我的细胞高度? – Bangalore

0

试试这个为iOS版本的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);