UIButton
UIButton是一個常用到的UI控件, 俗稱”按鈕”。
一般情況下,點擊某個控件後,會做出相應反應的都是按鈕
按鈕的功能比較多,既能顯示文字,又能顯示圖片,還能隨時調整內部圖片和文字的位置
作用:監聽用戶的點擊事件,在用戶點擊後做出響應
這個是Button
這個也是Button
那麼,我們廢話不多說,趕緊上代碼
首先,我麼需要寫一個方法創建一個文字按鈕,
-(void)creatUIRectBUtton{
// 創建一個普通顯示文字的按鈕
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
// 設置位置
button.frame = CGRectMake(100, 100, 80, 40);
// 設置文字
/**
* UIControlStateNormal 正常狀態
UIControlStateSelected 選中狀態
UIControlStateHighlighted 高亮狀態,按下狀態
UIControlStateDisabled 失效狀態,不可用狀態
*/
[button setTitle:@"孩紙別動" forState:UIControlStateNormal];
// 選中狀態
[button setTitle:@"選中按鈕" forState:UIControlStateSelected];
// 高亮
[button setTitle:@"按鈕按下" forState:UIControlStateHighlighted];
// 設置背景色
// button.backgroundColor = [UIColor redColor];
button.titleLabel.font = [UIFont systemFontOfSize:20.0];
#pragma mark 添加事件
/**
* p1 : 誰來實現這個函數,實現者對象就是"誰",一般self
* p2:@selector(<#selector#>) 函數對象,當按鈕滿足p3事件類型的時候調用
* p3:(UIControlEvents)事件處理類型函數
*
UIControlEventTouchDown :當我們的手指只要觸碰到屏幕時觸發事件
UIControlEventTouchUpInside 當我們的手指離開屏幕且手指的位置在按鈕的範圍內觸發事件
UIControlEventTouchUpOutside 當我們的手指離開屏幕且手指的位置在按鈕的範圍外觸發事件
*
*/
[button addTarget:self action:@selector(pressBtn:) forControlEvents:UIControlEventTouchUpInside];
// 設置按鈕的文字風格
// 正常狀態下的文字
[button setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
// 高亮狀態下的文字
[button setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];
[button setTintColor:[UIColor blackColor]];
// 顯示在視圖上
[self.view addSubview:button];
}
實現一下button的點擊事件方法
-(void)pressBtn:(UIButton *)sender{
// 更改狀態
sender.selected =! sender.selected;
NSLog(@"你點了我");
}
到這裏我們需要在viewDidLoad調用一下我們剛剛寫的那個創建普通文字按鈕的方法,讓他顯示在我們的視圖上
1.普通狀態下的按鈕
2.高亮狀態下的按鈕
3.選中狀態下的按鈕
文章開頭說過按鈕可以顯示文字和圖片,那麼普碳顯示文字的按鈕我們做了,現在我們再來做一個顯示圖片的按鈕
1,首先我們需要拖拽三張圖片進我們的工程裏面
2.同樣的我們需要寫一個方法創建一個顯示圖片的按鈕
-(void)creatImageButton{
// 創建一個顯示圖片的按鈕
UIButton *imgBtn = [UIButton buttonWithType:UIButtonTypeCustom];
imgBtn.frame = CGRectMake(100, 300, 100, 100);
// 設置不同狀態下的圖片
// p1 顯示圖片的對象
// p2 控件的狀態
// 正常狀態
[imgBtn setImage:[UIImage imageNamed:@"btn01"] forState:UIControlStateNormal];
// 選中狀態
[imgBtn setImage:[UIImage imageNamed:@"btn03"] forState:UIControlStateSelected];
// 高亮
[imgBtn setImage:[UIImage imageNamed:@"btn02"] forState:UIControlStateHighlighted];
#pragma mark 添加點擊事件
[imgBtn addTarget:self action:@selector(imgButton:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:imgBtn];
}
3.實現一下按鈕的點擊事件
-(void)imgButton:(UIButton *)sender{
sender.selected = ! sender.selected;
}
4,最後在viewDidLoad調用一下我們剛剛創建顯示圖片的按鈕
“`
(void)viewDidLoad {
[super viewDidLoad][self creatImageButton];
}
模擬器運行效果如下
普通狀態下顯示圖片的按鈕
高亮狀態下的按鈕
選中狀態下的按鈕