UIButton上圖片和文字的位置調整
UIButton 上預設是圖片在左文字在右,而大多數情況這樣預設的的顯示形式都不能滿足我們的需求,接下來我就這個問題分享一下我的心得。
預設情況下,不設定的效果,都是居中實現
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(50, 50, 150, 100);
button.backgroundColor = [UIColor yellowColor];
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[button setTitle:@"title" forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"tab5"] forState:UIControlStateNormal];
[self.view addSubview:button];
*********************************************************
UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right);
上面的四個數值是基於原位置而改變的例如:
[button setTitleEdgeInsets:UIEdgeInsetsMake(0, 0, 0, 60)];
[button setImageEdgeInsets:UIEdgeInsetsMake(0, 60, 0, 0)];
title 的CGFloat right改變的60 是基於原位置的titleLabel的右邊框向左平移60也就是到右邊框的距離。
image也是一樣,距離原來imageView的左邊框向右平移了60。
*********************************************************
[button setTitleEdgeInsets:UIEdgeInsetsMake(30, 0, 0, 30)];
[button setImageEdgeInsets:UIEdgeInsetsMake(0, 30, 30, 0)];
上下移動的原理同左右;
***********************************************
* 注意:這4個數值的位移都是基於原來的位置進行移動的例如第 *
* 一個數就是基於原來上邊框的位置向下移動,正數向下移動負數 *
* 向上移動;左右同理; *
***********************************************