爲了做到你的要求,你需要找出是否有隻有一個字。如果有,請將行數設置爲1,並且自動縮小應該可以解決問題。如果不存在,則將行數設置爲0.
例如,
UILabel *label = [[UILabel alloc] init];
label.font = [UIFont systemFontOfSize:12.0];
label.adjustsFontSizeToFitWidth = YES;
label.minimumScaleFactor = 0.8;
label.text = NSLocalizedString(@"Information", @"E: 'Information'");
NSUInteger words = [label.text componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]].count;
label.numberOfLines = (words == 1) ? 1 : 0;
斯威夫特3。0
let label = UILabel()
label.font = UIFont.systemFont(ofSize: 12)
label.adjustsFontSizeToFitWidth = true
label.minimumScaleFactor = 0.8
label.text = NSLocalizedString("Information", comment: "E: 'Information'")
let words = label.text?.components(separatedBy: NSCharacterSet.whitespacesAndNewlines).count
label.numberOfLines = words == 1 ? 1 : 0
我說過,在其他一些情況下,它應該允許顯示兩行(多個短語可以顯示在兩行中)。只有一些罕見的情況,一個長字可能會被字符包裹成兩行,我只想用「...」在一行中顯示。 – yibuyiqu
你想要什麼我沒有得到你的觀點呢? – Abhishek
我想將文本顯示爲前兩張圖片。它可以將兩行中的多個單詞顯示爲右上圖像,並且還可以在一行中顯示一個長單詞作爲左上圖像。我不想要底部的圖像。 – yibuyiqu