萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> ios >> IOS基礎學習UIButton使用詳解

IOS基礎學習UIButton使用詳解

   UIButton按鈕是IOS開發中最常用的控件,作為IOS基礎學習教程知識 ,初學者需要了解其基本定義和常用設置,以便在開發在熟練運用。

  第一、UIButton的定義

  UIButton *button=[[UIButton buttonWithType:(UIButtonType);

  能夠定義的button類型有以下6種,

  typedef enum {

  UIButtonTypeCustom = 0, 自定義風格

  UIButtonTypeRoundedRect, 圓角矩形

  UIButtonTypeDetailDisclosure, 藍色小箭頭按鈕,主要做詳細說明用

  UIButtonTypeInfoLight, 亮色感歎號

  UIButtonTypeInfoDark, 暗色感歎號

  UIButtonTypeContactAdd, 十字加號按鈕

  } UIButtonType;

  第二、設置frame

  button1.frame = CGRectMake(20, 20, 280, 40);

  [button setFrame:CGRectMake(20,20,50,50)];

  第三、button背景色

  button1.backgroundColor = [UIColor clearColor];

  [button setBackgroundColor:[UIColor blueColor]];

  第四、state狀態

  forState: 這個參數的作用是定義按鈕的文字或圖片在何種狀態下才會顯現

  enum {

  UIControlStateNormal = 0, 常規狀態顯現

  UIControlStateHighlighted = 1 << 0, 高亮狀態顯現

  UIControlStateDisabled = 1 << 1, 禁用的狀態才會顯現

  UIControlStateSelected = 1 << 2, 選中狀態

  UIControlStateApplication = 0x00FF0000, 當應用程序標志時

  UIControlStateReserved = 0xFF000000 為內部框架預留,可以不管

  };

  @property(nonatomic,getter=isEnabled)BOOL enabled; // default is YES. if NO, ignores touch events and subclasses may draw differently

  @property(nonatomic,getter=isSelected)BOOL selected; // default is NO may be used by some subclasses or by application

  @property(nonatomic,getter=isHighlighted)BOOL highlighted;

  第五 、設置button填充圖片和背景圖片

  [buttonsetImage:[UIImageimageNamed:@"checkmarkControllerIcon"]forState:UIControlStateNormal];

  [buttonsetBackgroundImage:[UIImageimageNamed:@"checkmarkControllerIcon"]forState:UIControlStateNormal];

  第六、設置button標題和標題顏色

  [button1 setTitle:@"點擊" forState:UIControlStateNormal];

  [buttonsetTitleColor:[UIColorredColor]forState:UIControlStateNormal];

  第七、設置按鈕按下會發光

  button.showsTouchWhenHighlighted=NO;

  第八、添加或刪除事件處理

  [button1 addTarget:self action:@selector(butClick:) forControlEvents:UIControlEventTouchUpInside];

  [btn removeTarget:nil action:nil forControlEvents:UIControlEventTouchUpInside];

  第九、 設置按鈕內部圖片間距和標題間距

  UIEdgeInsets insets; // 設置按鈕內部圖片間距

  insets.top = insets.bottom = insets.right = insets.left = 10;

  bt.contentEdgeInsets = insets;

  bt.titleEdgeInsets = insets; // 標題間距

copyright © 萬盛學電腦網 all rights reserved