在開(kāi)發(fā)中經(jīng)常會(huì)碰到需要對(duì)按鈕中的圖片文字位置做調(diào)整的需求。
第一種方式是通過(guò)設(shè)置按鈕中圖片文字的偏移量。通過(guò)方法setTitleEdgeInsets和setImageEdgeInsets實(shí)現(xià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)]; }
這種方式對(duì)普通的需求是可以滿足的,但是操作起來(lái)麻煩,不是那么直觀。對(duì)于像修改圖片子控件的寬高這種高度自定義的行為是很難實(shí)現(xiàn)的。
第二種方式則可以像布局子視圖一樣自由調(diào)整圖片和文字的位置,簡(jiǎn)單方便。可以調(diào)出需要的任意布局方式。
代碼如下:
1.在.h文件中:
自定義類ZFButton,繼承自UIButton。定義枚舉ZFButtonType說(shuō)明不同的類型。定義實(shí)例更新方法- (void)updateButtonStyleWithType:在需要的時(shí)候,根據(jù)自己的意愿更新成自己想要的樣式。
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式