我們在項目開發(fā)中,往往會遇到一個按鈕的文字在左 圖片在右的需求,如下圖:
按鈕的文字與圖片位置.png
我在網(wǎng)上也找了不少類似的文章,實現(xiàn)出了的問題就是文字與圖片會重疊,重疊的原因就是獲取的 button.titleLabel.width 為 0。
所以我先獲取到button.titleLable.text的寬度,代碼:
[lookMoreBtn setImage:[UIImage imageNamed:@"look_more_image"] forState:UIWindowLevelNormal];
CGSize size_1 = [lookMoreBtn.titleLabel.text boundingRectWithSize:CGSizeMake(MAXFLOAT, 40) options:NSStringDrawingTruncatesLastVisibleLine attributes:@{NSFontAttributeName:textFontWeightSize(13, 0)} context:nil].size;
再來調(diào)節(jié)button上的文字與圖片的位置:
//設(shè)置偏移量
lookMoreBtn.titleEdgeInsets = UIEdgeInsetsMake(0, -lookMoreBtn.currentImage.size.width, 0, lookMoreBtn.currentImage.size.width);
lookMoreBtn.imageEdgeInsets = UIEdgeInsetsMake(0, size_1.width + 10, 0, -size_1.width - 10);
//居中位置設(shè)置
lookMoreBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;