在實際開發中,對於開發者來說,更多的還是使用“自定義”按鈕。將“按鈕”物件的型別設定成UIButtonTypeCustom。這樣一來,按鈕的所有元素都將由開發者來配置和自定義。
對於一個自定義按鈕來說,他的層次從上到下以此是按鈕標題,按鈕圖片和按鈕背景圖,
開發者常使用設定標題,圖片和背景的三個API進行自定義
-(void)setTitle:(NSString *)title forState:(UIControlState)state -(void)setImage:(UIImage *)image forState:(UIControlState)state -(void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state
1.圖片加標題的按鈕定義
在如圖中edge Inset 區域能夠選擇的三個候選項中,content代表標題和圖片一起設定,而title只代表標題設定,Image只代表圖片設定。
現在我們需要針對Title和image分別進行EdgeInset的設定,至於程式碼的實現方式,仍然通過對Title和Image兩者的EdgeInset設定內容,程式碼如下
[self.aButton setTitleEdgeInsets:UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)];
[self.aButton setImageEdgeInsets:UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, <#CGFloat right#>)];
其座標時相對於整個view來說的,也可以在屬性中設定INSet的值分別對title和image來達到既有圖片又有文字的方式