IOS開發學習筆記七 使用程式碼為介面新增控制元件
阿新 • • 發佈:2018-11-13
首先是要實現的效果圖:demo下載
我們用程式碼在介面上建立了一個button,有預設圖片背景和高亮圖片背景兩種狀態。
具體實現程式碼:
主要是在介面對應的ViewController類初始化的時候,來通過程式碼建立按鈕。
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
// 當要顯示一個介面的時候, 首先建立這個介面對應的控制器
// 控制器建立好以後, 接著建立控制器所管理的那個view, 當這個view載入完畢以後就開始執行下面的方法了。
// 所以只要viewDidLoad方法被執行了, 就表示控制器所管理的view建立好了
- (void)viewDidLoad {
[super viewDidLoad];
// 動態建立我們自己的按鈕
// 1. 建立按鈕(UIButton)
//UIButton *button = [[UIButton alloc] init];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
// 2. 設定按鈕上顯示的文字
// 設定預設狀態下的顯示文字
[button setTitle:@"點我吧" forState:UIControlStateNormal];
// 設定高亮狀態下的顯示文字
[button setTitle:@"我被點選了" forState:UIControlStateHighlighted];
// 設定不同狀態下的文字顏色
// 預設狀態下紅色
[button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
// 設定高亮狀態下藍色
[button setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];
// 設定按鈕的背景圖片
// 載入圖片
UIImage *imgNormal = [UIImage imageNamed:@"btn_01"];
UIImage *imgHighlighted = [UIImage imageNamed:@"btn_02"];
// 設定預設狀態下的背景圖片
[button setBackgroundImage:imgNormal forState:UIControlStateNormal];
// 設定高亮狀態下的背景圖片
[button setBackgroundImage:imgHighlighted forState:UIControlStateHighlighted];
// 設定按鈕的frame
button.frame = CGRectMake(50, 100, 250, 300);
// 通過程式碼為按鈕註冊一個單擊事件
// 這就是如何為動態建立的按鈕註冊單擊事件
[button addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];
//把動態建立的按鈕加到控制器所管理的那個view中
[self.view addSubview:button];
}
- (void)buttonClick
{
NSLog(@"按鈕被點選了。。。。。");
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end