ios 系统设置粗字体遇到的问题

1 如图1.1,需求是左边图片右边文字,这里为了方便使用button,button可以设置image和title,代码如下

[_freightBtn setImage:[UIImage imageNamed:@"home_freight"] forState:UIControlStateNormal];
    [_freightBtn setTitle:kStr(@"Home_freeFreight") forState:UIControlStateNormal];
    [_freightBtn setTitleColor:kGrayColor forState:UIControlStateNormal];
    _freightBtn.titleLabel.font = kAppFont(kAppAdaptWidth(12));

正常情况下的显示如图1.1


ios 系统设置粗字体遇到的问题_第1张图片
图1.1

but。。。有些人喜欢将手机的系统字体设置为粗体,步骤:setting->General->Accessibility->Bold Text(设置->通用->辅助功能->粗体文字),如图1.2

ios 系统设置粗字体遇到的问题_第2张图片
1.2 设置成粗体

然后,就会出现下面的情况,如图1.3

ios 系统设置粗字体遇到的问题_第3张图片
图1.3 设置成粗体出现的问题

解决方法是用代码设置imageEdgeInsets,

_repertoryBtn.imageEdgeInsets = UIEdgeInsetsMake(0.0,-(_repertoryBtn.imageView.width/2), 0.0, 0.0);

这样设置之后显示就ok了,这里的偏移量根据UI设计自己调试

你可能感兴趣的:(ios 系统设置粗字体遇到的问题)