UIButton 左文右圖,上文下圖 ,上圖下文

1.設置左文右圖時?button.titleLabel.intrinsicContentSize.width?+???button.imageView.bounds.size.width 值要小于button.size.width

2.設置上圖下文或者上圖下文時??button.titleLabel.intrinsicContentSize.height +???button.imageView.bounds.size.height? 值要小于button.size.height

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {

? ? [super viewDidLoad];

? ? // Do any additional setup after loading the view, typically from a nib.

? ? UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

? ? [buttonsetFrame:CGRectMake(100,200,134,55)];

? ? button.backgroundColor = [UIColor grayColor];

? ? [button.titleLabel setFont:[UIFont systemFontOfSize:12]];

? ? [buttonsetTitleColor:[UIColor? purpleColor] forState:UIControlStateNormal];

? ? [buttonsetTitle:@"馬甲哥" forState:UIControlStateNormal];

? ? [buttonsetImage:[UIImage imageNamed:@"uc_novice_college_taskicon"] forState:UIControlStateNormal];

? ? button.titleLabel.backgroundColor = [UIColor yellowColor];

? ? [self.viewaddSubview:button];


? ? //左文右圖

? ? /*

? ? CGFloat space = 4;

? ? CGSize buttonSize = button.frame.size;

? ? CGSize titleSize = button.titleLabel.intrinsicContentSize;

? ? CGSize imageSize = button.imageView.bounds.size;

? ? [button setTitleEdgeInsets:UIEdgeInsetsMake(0, -imageSize.width - space/2, 0, imageSize.width + space/2)];

? ? [button setImageEdgeInsets:UIEdgeInsetsMake(0, titleSize.width + space/2, 0, -titleSize.width - space/2)];

?? ? */


? ? // 上圖下文

? ? /*

? ? CGFloat space = 4;

? ? CGSize buttonSize = button.frame.size;

? ? CGSize titleSize = button.titleLabel.intrinsicContentSize;

? ? CGSize imageSize = button.imageView.bounds.size;

? ? CGFloat afterTop = (buttonSize.height - (titleSize.height + imageSize.height + space))/2;

? ? CGFloat afterLeft = (buttonSize.width - (titleSize.width + imageSize.width))/2;

? ? CGFloat imageTop = (buttonSize.height - imageSize.height)/2 - afterTop;

? ? CGFloat imageLeft = buttonSize.width/2 - afterLeft - imageSize.width/2;

? ? CGFloat titleTop = (buttonSize.height - titleSize.height)/2 - afterTop;

? ? CGFloat titleLeft = buttonSize.width/2 - afterLeft - titleSize.width/2;

? ? [button setImageEdgeInsets:UIEdgeInsetsMake(-imageTop , imageLeft, imageTop, -imageLeft)];

? ? [button setTitleEdgeInsets:UIEdgeInsetsMake(titleTop, -titleLeft, -titleTop, titleLeft)];

?? ? */


? ? // 上文下圖

? ? /*

? ? CGFloat space = 4;

? ? CGSize buttonSize = button.frame.size;

? ? CGSize titleSize = button.titleLabel.intrinsicContentSize;

? ? CGSize imageSize = button.imageView.bounds.size;

? ? CGFloat afterTop = (buttonSize.height - (titleSize.height + imageSize.height + space))/2;

? ? CGFloat afterLeft = (buttonSize.width - (titleSize.width + imageSize.width))/2;

? ? CGFloat imageTop = (buttonSize.height - imageSize.height)/2 - afterTop;

? ? CGFloat imageLeft = buttonSize.width/2 - afterLeft - imageSize.width/2;

? ? CGFloat titleTop = (buttonSize.height - titleSize.height)/2 - afterTop;

? ? CGFloat titleLeft = buttonSize.width/2 - afterLeft - titleSize.width/2;

? ? [button setImageEdgeInsets:UIEdgeInsetsMake(imageTop , imageLeft, -imageTop, -imageLeft)];

? ? [button setTitleEdgeInsets:UIEdgeInsetsMake(-titleTop, -titleLeft, titleTop, titleLeft)];

?? ? */


? ? NSLog(@"titleEdgeInsets:%@",NSStringFromUIEdgeInsets(button.titleEdgeInsets));

}

- (void)didReceiveMemoryWarning {

? ? [super didReceiveMemoryWarning];

? ? // Dispose of any resources that can be recreated.

}

@end

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容