2012-08-01 78 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元素;