場景需求:
普通狀態(tài):
D95DC9DC-46AF-4DF8-B108-8841230F3861.png
選中狀態(tài):
3062E27F-7CD0-43A1-A277-0EFD20EB2211.png
普通狀態(tài)我通過設置titleEdgeInsets使標題距離左邊框20,代碼如下:
CGSize buttonSize = [button.titleLabel.text sizeWithAttributes:@{NSFontAttributeName:button.titleLabel.font}];
button.titleEdgeInsets = UIEdgeInsetsMake(0, -(kScreenWidth -buttonSize.width) + 40, 0, 0);
經過仿佛測試比對妒貌,發(fā)現titleEdgeInsets和實際的frame存在2倍的關系。
按鈕選中出現圖片梅惯,并且標題位置不變徊件,圖片距離右邊框30梭依,代碼如下:
CGSize buttonImageSize = [sender imageForState:UIControlStateSelected].size;
sender.titleEdgeInsets = UIEdgeInsetsMake(0, -(kScreenWidth -buttonSize.width) - buttonImageSize.width + 40, 0, 0);
sender.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 0, -kScreenWidth-buttonSize.width + 60 );
經過仿佛測試比對,發(fā)現imageEdgeInsets和實際的frame存在2倍的關系鸣奔。
以上是我發(fā)現的規(guī)律墨技,但原理不明白,如果有高手挎狸,請多多指教扣汪。。