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

代碼如下:

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開(kāi)發(fā),動(dòng)畫(huà)培訓(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)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開(kāi)發(fā),動(dòng)畫(huà)培訓(xùn)

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

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

代碼如下:

1.在.h文件中:

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

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

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式