// 初始化按鈕樣式
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
/*
UIButtonTypeCustom 自定義 (默認 無樣式)
UIButtonTypeRoundedRect 白色圓角矩形
UIButtonTypeDetailDisclosure 藍色小箭頭按鈕,主要做詳細說明用
UIButtonTypeInfoLight 亮色圓圈感嘆號信息按鈕
UIButtonTypeInfoDark 深色圓圈感嘆號信息按鈕
UIButtonTypeContactAdd 藍色加號(+)按鈕
*/
// 設置位置和大小
button.frame = CGRectMake(20, 100, 250, 50);
// 設置裁剪半徑
button.layer.cornerRadius = 20;
// 設置裁剪後邊框顏色
button.layer.borderColor = [UIColor redColor].CGColor;
// 設置裁剪後邊框寬度
button.layer.borderWidth = 1;
// 設置隱藏裁剪區域
button.layer.masksToBounds = YES;
// 設置標籤 用來辨別點擊的是哪個button
button.tag = 1000;
// 設置背景顏色
button.backgroundColor = [UIColor brownColor];
// 設置不同狀態時的標題文字及顏色
[button setTitle:@"Normal Title" forState:UIControlStateNormal];
[button setTitle:@"Hlight Title" forState:UIControlStateHighlighted];
[button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
[button setTitleColor:[UIColor yellowColor] forState:UIControlStateHighlighted];
// 設置不同狀態時的富文本標題 標題其他設置無效
//NSAttributedString *attributedString = [[NSAttributedString alloc] initWithString:@"Attributed Title" attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:14], NSForegroundColorAttributeName:[UIColor purpleColor]}];
//[button setAttributedTitle:attributedString forState:UIControlStateNormal];
// 設置不同狀態時的標題圖片
// 原比例的顯示 當寬高不足時圖片不足的一邊被壓縮
// 當設置了標題且按鈕寬度不夠時優先顯示圖片 圖片原大小顯示,當寬高不足時
[button setImage:[UIImage imageNamed:@"4"] forState:UIControlStateNormal];
// 設置不同狀態時的背景圖片
// 圖片自動拉伸來適應button的大小 背景顏色被覆蓋
[button setBackgroundImage:[UIImage imageNamed:@"pink"] forState:UIControlStateNormal];
// 設置不同狀態時的標題陰影顏色.不同狀態默認的標題陰影顏色是UIControlStateNormal時的值.若normal狀態的值沒有設定,默認是個系統值,所以你只要要設置normal狀態
[button setTitleShadowColor:[UIColor blueColor] forState:UIControlStateNormal];
/*
UIControlStateNormal 常規狀態
UIControlStateHighlighted 高亮狀態
UIControlStateDisabled 禁用狀態
UIControlStateSelected 選中狀態
UIControlStateFocused 當屏幕支持聚焦時可用 iOS 9 新屬性
UIControlStateApplication 當應用程序標誌使用時
UIControlStateReserved 爲內部框架預留的
*/
// 設置標題圖片和文字偏移量 (默認UIEdgeInsetsZero)
// UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)
//button.contentEdgeInsets = UIEdgeInsetsMake(100, 0, 0, 0);
// 設置標題文字偏移量 (默認UIEdgeInsetsZero)
//button.titleEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 100);
// 設置標題圖片偏移量 (默認UIEdgeInsetsZero)
//button.imageEdgeInsets = UIEdgeInsetsMake(0, 100, 0, -100);
// 設置高亮狀態改變陰影 陰影在雕刻與浮雕感之間變化(差不多就是去正常offset的相反數作爲新的offset)
button.reversesTitleShadowWhenHighlighted = NO;
// 設置高亮狀態圖片變深色 (默認YES)
button.adjustsImageWhenHighlighted = YES;
// 設置禁用狀態圖片變淺色 (默認YES)
//button.enabled = NO;
button.adjustsImageWhenDisabled = YES;
// 設置高亮狀態下按鈕發光 (默認NO)
// 多用於信息按鈕或重要按鈕
// 若設置了標題圖片則圖片發光 若未設置則按鈕中間發光
button.showsTouchWhenHighlighted = YES;
// 想深入瞭解TintColor請猛戳這裏:http://www.cocoachina.com/ios/20150703/12363.html?utm_medium=referral&utm_source=pulsenews
//[button setTintColor:[UIColor blueColor]];
// 設置事件
[button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];
/*
UIControlEventTouchDown 按下
UIControlEventTouchDownRepeat 多次按下
UIControlEventTouchDragInside 保持按下然後在按鈕及其一定的外圍拖動
UIControlEventTouchDragOutside 保持按下,在按鈕外面拖動
UIControlEventTouchDragEnter DragOutside進入DragInside觸發
UIControlEventTouchDragExit in到out觸發
UIControlEventTouchUpInside 在按鈕及其一定外圍內鬆開
UIControlEventTouchUpOutside 按鈕外面鬆開
UIControlEventTouchCancel 點擊取消
*/
// 獲取按鈕當前狀態的屬性 (只讀)
/*
button.currentTitle 當前按鈕上顯示的標題(只讀).當按鈕狀態改變時值自動改變.值可以爲nil
button.currentTitleColor 當前標題顏色(只讀).此值要保證不爲nil,默認是白色
button.currentTitleShadowColor 標題的陰影顏色(只讀).默認是白色
button.currentImage 當前按鈕上的圖片(只讀).可以是nil.
button.currentBackgroundImage 當前按鈕背景圖片(只讀).可以是nil.
button.currentAttributedTitle 當前按鈕上顯示的富文本標題(只讀).當按鈕狀態改變時值自動改變.值可以爲nil
button.titleLabel 顯示按鈕當前標題的視圖(只讀).雖然它是隻讀的,但是它的屬性是可讀寫的.它的屬性在按鈕還沒有顯示之前就有返回值.系統按鈕這些值爲nil
button.imageView 按鈕上的圖片視圖(只讀).雖然它是隻讀的,但是他的屬性是可讀寫的.imageView的屬性在按鈕還沒有顯示前就有值了.系統按鈕這些值是nil
*/
[self.view addSubview:button];
}
- (void)buttonAction:(UIButton *)button
{
}
/*
– backgroundRectForBounds: 返回背景繪製區域.
– contentRectForBounds: 返回內容繪製區域.內容區域是顯示圖片和標題及他們特定對齊縮放等的範圍.
– titleRectForContentRect: 返回標題的繪製區域.
– imageRectForContentRect: 返回圖片的繪製區域.
*/
UIButton詳解
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.