在開發(fā)中經(jīng)常會(huì)碰到需要對(duì)按鈕中的圖片文字位置做調(diào)整的需求。
第一種方式是通過設(shè)置按鈕中圖片文字的偏移量。通過方法setTitleEdgeInsets和setImageEdgeInsets實(shí)現(xiàn)

代碼如下:

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

/*!**方式一***/- (void)updateBtnStyle_rightImage:(UIButton *)btn {
    
    CGFloat btnImageWidth = btn.imageView.bounds.size.width;
    CGFloat btnLabelWidth = btn.titleLabel.bounds.size.width;
    CGFloat margin = 3;
    
    btnImageWidth += margin;
    btnLabelWidth += margin;
    
    [btn setTitleEdgeInsets:UIEdgeInsetsMake(0, -btnImageWidth, 0, btnImageWidth)];
    [btn setImageEdgeInsets:UIEdgeInsetsMake(0, btnLabelWidth, 0, -btnLabelWidth)];
}

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

這種方式對(duì)普通的需求是可以滿足的,但是操作起來麻煩,不是那么直觀。對(duì)于像修改圖片子控件的寬高這種高度自定義的行為是很難實(shí)現(xiàn)的。

第二種方式則可以像布局子視圖一樣自由調(diào)整圖片和文字的位置,簡(jiǎn)單方便??梢哉{(diào)出需要的任意布局方式。

代碼如下:

1.在.h文件中:

自定義類ZFButton,繼承自UIButton。定義枚舉ZFButtonType說明不同的類型。定義實(shí)例更新方法- (void)updateButtonStyleWithType:在需要的時(shí)候,根據(jù)自己的意愿更新成自己想要的樣式。

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開發(fā),動(dòng)畫培訓(xùn)

網(wǎng)友評(píng)論