2012-08-01 44 views
2

我正在动态创建tabbaritems,并且有时项目的标题超出项目的空间并占用下一个tabbaritem的空间。如何截断tabbarcontroller项目的标题

有人知道如何防止它?如何截断名称?

对不起,我还不能发布照片。

在此先感谢!

回答

2

其实没有简单的方法来做到这一点。 (在离 “TestBarTitle” - > “TESTB ..”)

可以截断的NSString一些定义的宽度之前,将其设置为一个标题:

- (NSString*)stringByTruncatingStringWithFont:(UIFont *)font forWidth:(CGFloat)width lineBreakMode:(UILineBreakMode)lineBreakMode { 
    NSMutableString *resultString = [[self mutableCopy] autorelease]; 
    NSRange range = {resultString.length-1, 1}; 

    while ([resultString sizeWithFont:font forWidth:FLT_MAX lineBreakMode:lineBreakMode].width > width) { 
     // delete the last character 
     [resultString deleteCharactersInRange:range]; 
     range.location--; 
     // replace the last but one character with an ellipsis 
     [resultString replaceCharactersInRange:range withString:truncateReplacementString]; 
    } 
    return resultString; 
} 

或者你也可以手动执行UITabBar(+的UIImageView UIButtons和UILabels),所以你将100%的控制这个UI元素;