在Cocoa App中将多行标题设置为NSButton

时间:2018-07-30 11:54:47

标签: objective-c cocoa appkit nsbutton nscell

我了解将NSButton的标题设置为NSButton的准则,没有冒犯,但应满足我的要求。 我想在两行中显示NSButton标题。

NSButton *btn = [[NSButton alloc] init];
[btn setTitle:@"multiple line text if longer title"];

我想要的结果如下-:

result I wanted result I wanted

1 个答案:

答案 0 :(得分:0)

我已经满足了要求,通过子类化NSButton,然后检查标题的字符串长度来相应地将字符串划分为两行。

NSArray *arrStr = [str componentsSeparatedByString:@" "];
NSString *strTemp = @"";
    if(arrStr.count>1){
        strTemp = [NSString stringWithFormat:@"%@\n%@", arrStr.firstObject, [str stringByReplacingOccurrencesOfString:arrStr.firstObject withString:@""]];
}
    else{
        strTemp = str;
}            
NSMutableAttributedString* attributedString = [[NSMutableAttributedString alloc] initWithString:strTemp];