UIButton屬性
1.UIButton狀態:
UIControlStateNormal // 正常狀態
UIControlStateHighlighted // 高亮狀態
UIControlStateDisabled // 禁用狀態
UIControlStateSelected // 選中狀態
UIControlStateApplication //
UIControlStateReserved // 保留狀態
2.Uibutton型別:
UIButtonTypeCustom //自定義型別
新增圖片:
灰色背景顏色:
UIButtonTypeRoundedRect //圓角型別
UIButtonTypeDetailDisclosure //細節展示按鈕
UIButtonTypeInfoLight //淺色背景的資訊按鈕
UIButtonTypeInfoDark //暗色背景的資訊按鈕
UIButtonTypeContactAdd // 新增按鈕
3.UIButton常用屬性
給按鈕設定文字時,蘋果文件說明,不能使用label物件設定文字的顏色或者陰影顏色,相反必須使用setTitleColor:forState: and setTitleShadowColor:forState:這兩個方法才能修改這些值。
設定按鈕中其他屬性依次類推。。。。
設定對應狀態的標題內容default is nil. title is assumed to be single line
- (void)setTitle:(NSString *)title forState:(UIControlState)state;
設定對應狀態的標題顏色
- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state;
設定對應狀態的標題陰影顏色
- (void)setTitleShadowColor:(UIColor *)color forState:(UIControlState)state;
設定對應狀態的按鈕的圖片
- (void)setImage:(UIImage *)image forState:(UIControlState)state;
設定對應狀態的按鈕背景圖片
- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state;
新增事件
- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
這些事件都是基於觸控、基於值、基於編輯。有如下事件會觸發。
在點選按鈕是按鈕是凹下去,然後彈起才觸發起事件,按鈕的狀態有:
- UIControlEventTouchDown // 按下
- UIControlEventTouchDownRepeat 多次按下
- UIControlEventTouchUpInside // 在按鈕及其一定外圍內鬆開
- UIControlEventTouchUpOutside // 按鈕外面鬆開
4.adjustsImageWhenDisabled
當按鈕禁用的情況下,影象的顏色會被畫深一點,預設為YES。
5.adjustsImageWhenHighlighted
當按鈕高亮的情況下,影象的顏色會被畫深一點,預設為YES。
6.showsTouchWhenHighlighted
button.showsTouchWhenHighlighted=YES;點選時的閃光效果會被前景圖片遮住中間部分;
6.contentEdgeInsets
設定按鈕的內部內容(包含按鈕圖片和標題)離按鈕邊緣上下左右的距離。
7.按鈕例項
1.有些時候我們想讓UIButton的title居左對齊,我們設定
btn.textLabel.textAlignment
= UITextAlignmentLeft
是沒有作用的,我們需要設定
btn.contentHorizontalAlignment = UIControlContentHorizonAlignmentLeft;
但是問題又出來,此時文字會緊貼到左邊框,我們可以設定
btn.contentEdgeInsets = UIEdgeInsetsMake(0,10, 0, 0);
使文字距離左邊框保持10個畫素的距離。