事情是這樣的,今天用iOS13的手機跑了一下代碼,偶然發現我設置的按鈕富文本顯示的不對了。
按鈕是醬嬸兒的
self.takeCarDateButton = [UIButton buttonWithType:UIButtonTypeCustom]; self.takeCarDateButton.titleLabel.font = [UIFont systemFontOfSize:12]; self.takeCarDateButton.titleLabel.lineBreakMode = 0; self.takeCarDateButton.titleLabel.textAlignment = NSTextAlignmentCenter; [self.view addSubview:self.takeCarDateButton];
富文本是醬嬸兒的
NSString *dateStr = @"2019-12-02 14:00"; NSString *takeCarDateStr = [NSString stringWithFormat:@"取車時間\n%@",dateStr]; NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] initWithString:takeCarDateStr]; [attString addAttribute:(NSString*)NSFontAttributeName value:[UIFont systemFontOfSize:12] range:[takeCarDateStr @"取車時間"]]; [self.takeCarDateButton setAttributedTitle:attString forState:UIControlStateNormal];
有啥問題嗎?簡直沒毛病啊!But!還是得解決啊……
按理說,應該是按鈕居中顯示兩行文字,如下:
取車時間
2019-12-02 14:00
但是,在iOS13上是這樣的,如下:
取車時間
換行后的文字就是不出來~阿西吧
然后第一時間百度一下呀~這種問題應該有大把的人說吧~然鵝!根本沒有人說這個事好么!大家難道都不用富文本的嗎?就我一人?不可能啊~
唉……我太難了……
那就開始試唄,看看到底是哪出了問題
結果……我發現:
如果 富文本中需要改變字號的文字 在換行符前的話,設置 需要改變的字號>=按鈕正常字號 就顯示兩行了;
如果 富文本中需要改變字號的文字 在換行符后的話,就愛咋設咋設了。
哦買尬!這也太坑了吧!
的境況的