1. 程式人生 > >UIButton上圖片和文字的位置調整

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個數值的位移都是基於原來的位置進行移動的例如第  *

* 一個數就是基於原來上邊框的位置向下移動,正數向下移動負數 *

* 向上移動;左右同理;                                                    *

***********************************************