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

代碼如下:

平面設計培訓,網(wǎng)頁設計培訓,美工培訓,游戲開發(fā),動畫培訓

/*!**方式一***/- (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)];
}

平面設計培訓,網(wǎng)頁設計培訓,美工培訓,游戲開發(fā),動畫培訓

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

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

代碼如下:

1.在.h文件中:

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

平面設計培訓,網(wǎng)頁設計培訓,美工培訓,游戲開發(fā),動畫培訓

網(wǎng)友評論