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
but。。。有些人喜欢将手机的系统字体设置为粗体,步骤:setting->General->Accessibility->Bold Text(设置->通用->辅助功能->粗体文字),如图1.2
然后,就会出现下面的情况,如图1.3
解决方法是用代码设置imageEdgeInsets,
_repertoryBtn.imageEdgeInsets = UIEdgeInsetsMake(0.0,-(_repertoryBtn.imageView.width/2), 0.0, 0.0);
这样设置之后显示就ok了,这里的偏移量根据UI设计自己调试