UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
//buttonWithType后面填的是button的樣式
//UIButtonTypeSystem的時候如果給button添加前景圖片只能顯示出一個藍色的輪廓;
//建議只要給UIButton設置自定義圖片,就用Custom
//想要添加前景圖片需要改成UIButtonTypeCustom;
button.frame = CGRectMake(100,100,100,100);
//設置標題
[button setTitle:@"登陸" forState:UIControlStateNormal];
- 這里的State填的是當button這個狀態的時候顯示這樣的標題;
- Normal狀態就是沒有按的時候的狀態
- HighLighted狀態就是按住不放的時候的狀態
- disable狀態就是按鈕失效或者不能按的時候的狀態
- 可以給不同的狀態設定不同的圖片,標題等
//取標題
NSString *title = [button titleForState:UIControlStateNormal];
//設置標題字體的顏色
[button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
//背景圖片
[button setBackgroundImage:[UIImage imageNamed:@"XXX.jpg"] forState:UIControlStateNormal];
//設置背景圖片時上面的Type設為System就行了;
//設置前景圖片
[button setImage:[UIImage imageNamed:@"XXX.jpg"] forState:UIControlStateNormal];
//設置前景圖片時上面的Type要用Custem
//取圖片
UIImage *backImg = [button backgroundImageForState:UIControlStateNormal];
UIImage *img = [button imageForState:UIControlStateNormal];
[self.window addSubview:button];
//button不用release,因為一般都是用便利構造器構建
//點擊事件
[button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
//forControlEvents后填的是點擊事件觸發的時機;是一點下就觸發,還是點下松手之后在觸發
自定義button
想要自定義Button中的圖片和標題的位置有兩種方法
1.寫一個UIButton的子類,并實現兩個方法
//此方法改變的是標題的位置大小,返回標題的frame,
//此處contentRect就是button的frame,下同
- (CGRect)titleRectForContentRect:(CGRect)contentRect
//此方法改變的是圖片的位置大小,返回圖片的frame
- (CGRect)imageRectForContentRect:(CGRect)contentRect
2.設置UIButton相應的EdgeInsets屬性
button.titleEdgeInsets = UIEdgeInsetsMake(top,left,bottom,right);
button.imageEdgeInsets = UIEdgeInsetsMake(top,left,bottom,right);
//這兩個屬性設置的是圖片和標題距離邊框的距離,當只有圖片或標題時,
//設置的是距離button邊框的距離,
//同時存在時,設置的圖片的上左下是距button邊框的距離,右邊是距離title的距離;
//title上下右是距button邊框的距離,左邊是距離image的距離