iOS開發UI篇—Button基礎git
1、簡單說明程序員
通常狀況下,點擊某個控件後,會作出相應反應的都是按鈕post
按鈕的功能比較多,既能顯示文字,又能顯示圖片,還能隨時調整內部圖片和文字的位置動畫
2、按鈕的三種狀態atom
normal(普通狀態)spa
默認狀況(Default)code
對應的枚舉常量:UIControlStateNormalorm
highlighted(高亮狀態)對象
按鈕被按下去的時候(手指還未鬆開)blog
對應的枚舉常量:UIControlStateHighlighted
disabled(失效狀態,不可用狀態)
若是enabled屬性爲NO,就是處於disable狀態,表明按鈕不能夠被點擊
對應的枚舉常量:UIControlStateDisabled
3、注意點
(1)從Xcode5開始,圖片資源都放到Images.xcassets中進行管理,可使用拖拽的方式添加項目中用到的圖片到Images.xcassets中
(2)若干多個控件共用一段代碼,一般使用tag。
4、代碼示例
(1)
#import "LFViewController.h"
@interface LFViewController ()
@property (weak, nonatomic) IBOutlet UIButton *headImageView;
@end
@implementation LFViewController
// 在OC中,絕大多數的控件的監聽方法的第一個參數就是控件自己
//- (IBAction)left:(UIButton *)button {
//
// NSLog(@"----");
//}
- (IBAction)move
{
// 經過frame修改head的位置
// 在OC中,不容許直接修改「對象」的「結構體屬性」的「成員」
// 容許修改「對象」的「結構體屬性」
// 1. 取出結構體屬性
CGRect rect = self.headImageView.frame;
// 2. 修改結構體成員
rect.origin.y -= 20;
// 3. 設置對象的結構體屬性
self.headImageView.frame = rect;
}
(2)
5、補充筆記
1. IBAction的參數
- (IBAction)left:(UIButton *)button
(1) 在OC中,絕大多數的控件監聽方法的第一個參數就是控件自己
(2) 默認連線時的參數類型是id
(3) 若是要在監聽方法中,方便控件的使用,能夠在連線時或者連線後,修改監聽方法的參數類型
2. 修改對象的結構體成員
在OC中,不容許直接修改「對象」的「結構體屬性」的「成員」,可是容許修改「對象」的「結構體屬性」
修改結構體屬性的成員方法以下:
(1)使用臨時變量記錄對象的結構體屬性
(2) 修改臨時變量的屬性
(3)將臨時變量從新設置給對象的結構體屬性
3. 在程序開發中須要避免出現魔法數字(Magic Number)
使用枚舉類型,能夠避免在程序中出現魔法數字
(1)枚舉類型實質上就是一個整數,其做用就是用來替代魔法數字
(2)枚舉類型中,指定了第一個整數以後,後面的數字會遞增
4. frame & bounds & center
1> frame能夠修改對象的位置和尺寸
2> bounds能夠修改對象的尺寸
3> center能夠修改對象的位置
5. 首尾式動畫
// beginAnimations表示此後的代碼要「參與到」動畫中
[UIView beginAnimations:nil context:nil];
// setAnimationDuration用來指定動畫持續時間
[UIView setAnimationDuration:2.0];
self.headImageView.bounds = rect;
......
// commitAnimations,將beginAnimation以後的全部動畫提交併生成動畫
[UIView commitAnimations];