iOS上怎樣讓按鈕(UIbutton)文字左對齊展示
阿新 • • 發佈:2019-02-06
- // button.titleLabel.textAlignment = NSTextAlignmentLeft; 這句無效
- button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
- button.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
在做UI介面的時候一直困惑與怎樣讓按鈕的文字左對齊展示,今天又一次遇到,決定徹底解決這個問題
首先我們會想到下面的程式碼
button.titleLabel.textAlignment = NSTextAlignmentLeft; 這行程式碼是沒有效果的,這只是讓標籤中的文字左對齊,但
並沒有改變標籤在按鈕中的對齊方式。
所以,我們首先要使用
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; 這行程式碼,把按鈕的內容(控制元件)
的對齊方式修改為水平左對齊,但是這們會緊緊靠著左邊,不好看,
所以我們還可以修改屬性:
button.titleEdgeInsets = UIEdgeInsetsMake(0, 8, 0, 0);
這行程式碼可以讓按鈕的內容(控制元件)距離左邊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); }
如有問題歡迎指教!