2

タブバアイテムを動的に作成していますが、アイテムのタイトルがアイテムのスペースを超えて、次のタブバアイテムのスペースを占有することがあります。

誰かがそれを防ぐ方法を知っていますか?名前を切り捨てるには?

申し訳ありませんが、まだ写真を投稿できません。

前もって感謝します!

4

2 に答える 2

2

実際、それを行う簡単な方法はありません。

タイトルとして設定する前に、NSStringを定義された幅(例: "TestBarTitle"-> "TestB ..")に切り捨てることができます。

- (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)を手動で実装できるため、このUI要素を100%制御できます。

于 2012-08-01T15:14:27.683 に答える