天天看點

UIButton的使用 UIButton

UIButton

UIButton簡介

UIButton是最常用的控件之一,UIButton有各種觸控事件,顯示文字,圖檔或者背景色。 

最主要的是實作使用者的touch事件。

UIButton使用

我們可以在IB中直接拖拽添加UIButton使用,也可以在代碼中動态建立。

在IB中使用UIButton

在xib檔案中添加一個UIButton,選中button,在右側選中show the attributes inspector,

我們可以看到預設的button的一些屬性,如下所示

UIButton的使用 UIButton

在這裡,我們可以改變圖檔,title,背景色或背景圖檔等。

在xib檔案,選中Show the Assistant editor,如下所示

UIButton的使用 UIButton

UIButton上右鍵點選,列出了button很多的東西,如下所示

UIButton的使用 UIButton

Sent Events下是button的監聽事件,

Refererncing Outlets 下是為button添加oulets,我們可以在代碼中控制button,改變button屬性。

左鍵選中相應事件,或者outlets後面的圓圈,然後拖拽到.h檔案的@interface,@end之間,出現上圖所示的懸浮視窗,

添加name之後,Connect,可以添加button的IBAction,或Outlet。IBAction是監聽事件,Outlet可以控制button,

改變一些基本屬性。

我選的是 touch up inside事件,命名為send,

Outlet命名為button,之後出現如下代碼

- (IBAction)send:(id)sender;
@property (weak, nonatomic) IBOutlet UIButton *button;
      

添加完之後,在.m檔案中的

- (IBAction)send:(id)sender {
      // do something.
}
      

改變button的屬性,

button.image = ....
      

這就是在IB中操作UIButton的方法。

動态建立UIButton方法。

UIButton *button =  [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [button setFrame:CGRectMake(0, 0, 100, 100)];
    [self.view addSubview:button];
      
UIButton *button =[ [UIButton alloc] init];
      

這樣也可以動态建立,但是預設的button的type是custom,而且button的type沒法改變,是以一般用上面動态建立的

方法。

這一段代碼就可以簡單的在View上建立一個大小為100x100的UIButton了。你可以改變button的基本屬性,

如果要添加事件的話,還需要額外一些工作。

在.h檔案中添加事件函數

- (IBAction)send:(id)sender;
      

并要在.m檔案中添加對函數的綁定函數,以及事件類型

[button addTarget:self action:@selector(send:) forControlEvents:UIControlEventTouchUpInside];
      

在send函數中添加代碼,button的點選就有反映了。

添加點選之後換圖示的效果

//點選前的圖檔
[button setBackgroundImage:[[UIImage imageNamed:@"一張圖檔.png"] forState:UIControlStateNormal];
//點選後的圖檔
[button setBackgroundImage:[[UIImage imageNamed:@"另一張圖檔.png"] forState:UIControlStateHighlighted];      

繼續閱讀