事情是这样的,今天用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上是这样的,如下:
取车时间
换行后的文字就是不出来~阿西吧
然后第一时间百度一下呀~这种问题应该有大把的人说吧~然鹅!根本没有人说这个事好么!大家难道都不用富文本的吗?就我一人?不可能啊~
唉……我太难了……
那就开始试呗,看看到底是哪出了问题
结果……我发现:
如果 富文本中需要改变字号的文字 在换行符前的话,设置 需要改变的字号>=按钮正常字号 就显示两行了;
如果 富文本中需要改变字号的文字 在换行符后的话,就爱咋设咋设了。
哦买尬!这也太坑了吧!
的境况的