1. 程式人生 > >iOS上怎樣讓按鈕(UIbutton)文字左對齊展示

iOS上怎樣讓按鈕(UIbutton)文字左對齊展示

  1. // button.titleLabel.textAlignment = NSTextAlignmentLeft; 這句無效
  2.       button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;  
  3.       button.titleEdgeInsets = UIEdgeInsetsMake(01000);  

在做UI介面的時候一直困惑與怎樣讓按鈕的文字左對齊展示,今天又一次遇到,決定徹底解決這個問題

首先我們會想到下面的程式碼

button.titleLabel.textAlignment = NSTextAlignmentLeft; 這行程式碼是沒有效果的,這只是讓標籤中的文字左對齊,但

並沒有改變標籤在按鈕中的對齊方式。

所以,我們首先要使用

button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; 這行程式碼,把按鈕的內容(控制元件)

的對齊方式修改為水平左對齊,但是這們會緊緊靠著左邊,不好看,

所以我們還可以修改屬性:

button.titleEdgeInsets = UIEdgeInsetsMake(0800);

這行程式碼可以讓按鈕的內容(控制元件)距離左邊8個畫素,根據自己需要調整,也可為負數(--8)這樣就好看多了。希望對大家也有幫助

2015.7.31修改

下面是按鈕和文字上下對齊展示

int origin_Y;
    origin_Y=64;
    for (int i=0; i<4; i++) {
        UIButton *btn = [[UIButton alloc]initWithFrame:CGRectMake(100, origin_Y,50, 50)];
        btn.backgroundColor = [UIColor greenColor];
        [btn setImage:[UIImage imageNamed:@"bbc"] forState:UIControlStateNormal];
        [btn setTitle:@"測試" forState:UIControlStateNormal];
        [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
        btn.titleLabel.backgroundColor = [UIColor blueColor];
        //btn.contentVerticalAlignment = UIControlContentVerticalAlignmentTop;
        btn.imageEdgeInsets = UIEdgeInsetsMake(5,10,21,0);
        btn.titleEdgeInsets = UIEdgeInsetsMake(30,-(btn.frame.size.width-10*2), 0, 0);
        [btn addTarget:self action:@selector(click) forControlEvents:UIControlEventTouchUpInside];
        [self.view addSubview:btn];
        origin_Y+=(btn.frame.size.height+10);
    }


如有問題歡迎指教!