1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 // Do any additional setup after loading the view, typically from a nib. 5 6 //第一種方法建立 7 UIButton *newBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 8 9 newBtn.frame = CGRectMake(50.0f, 50.0f, 100.0f, 50.0f);10 [self.view addSubview:newBtn];11 12 [newBtn setTitle:@"正常狀態" forState:UIControlStateNormal];13 [newBtn setTitle:@"選中狀態" forState:UIControlStateHighlighted];14 /*setTitle方法:設定button在某個狀態下的的title15 第二個參數 forState 在定義button的文字或者圖片在何種狀態下才會顯示,是一個枚舉類型16 enum {17 UIControlStateNormal = 0, 常規狀態顯示18 UIControlStateHighlighted = 1 << 0, 高亮狀態顯示.點擊時是高亮狀態19 UIControlStateDisabled = 1 << 1, 禁用狀態才會顯示20 UIControlStateSelected = 1 << 2, 選中狀態.什麼時候才是選中狀態?21 UIControlStateApplication = 0x00FF0000, 當應用程式標誌時22 UIControlStateReserved = 0xFF000000 內部預留23 };*/24 25 [newBtn addTarget:self action:@selector(click:event:) forControlEvents:UIControlEventTouchUpInside];26 /*給button添加事件,最後一個參數指明了事件類型,第二個參數指明了哪個方法對button的事件進行響應,該方法帶兩個參數,第一個是事件發生者,第二個是發生的事件,好像最多隻能有兩個.27 第一個參數指明了誰提供回應程式法,當第一個參數為nil時,將會從當前對象開始遞迴詢問響應鏈直至找到方法提供者或者到跟響應鏈?28 */29 30 31 [self.view addSubview:newBtn];32 33 34 //第二種方法建立.這種方法在建立是沒有指定button的type(風格),預設是UIButtonTypeCustom,重點在於這個屬性只能在初始化時指定,初始化後是沒法更改的35 //所以一般不用這種建立方法36 UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(100.0f, 100.0f, 200.0f, 50.0f)];37 38 btn.tag = 100;39 [btn setTitle:@"預設顯示風格" forState:UIControlStateNormal];40 41 [self.view addSubview:btn];42 [btn release];43 }44 45 46 /*47 提供給UIButton的事件回應程式法48 */49 -(void) click:(id)sender event:(UITouch *) touchEvent50 {51 /*52 指定委派物件為當前類,則表明當前類實現了UIAlertViewDelegate協議時,應該實現了協議裡的一些方法,則這些方法可以對alertview的一些事件進行響應53 問題在於,當前類也可以不繼承UIAlertViewDelegate協議啊,只是不進行對alertview的事件響應而已54 */55 UIAlertView *alerView = [[UIAlertView alloc]56 initWithTitle:@"Attention"57 message:@"test"58 delegate:self 59 cancelButtonTitle:@"OK"60 otherButtonTitles:@"Cancel",61 nil];62 63 [alerView show];64 [alerView release];65 66 }67 68 69 /*70 當前類繼承了UIAlertViewDelegate協議,實現協議裡的其中一個方法,可以提供來響應alertview的事件響應71 */72 -(void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex73 {74 UIAlertView *alerView = [[UIAlertView alloc]75 initWithTitle:@"Attention123"76 message:[NSString stringWithFormat:@"index at %d",buttonIndex]77 delegate:nil78 cancelButtonTitle:@"OK123"79 otherButtonTitles:nil,80 nil];81 82 [alerView show];83 [alerView release];84 }85 86 - (void)didReceiveMemoryWarning87 {88 [super didReceiveMemoryWarning];89 // Dispose of any resources that can be recreated.90 }