一. 概述:
在IOS开发的界面搭建步骤中,Storyboard中的所有操作都可以通过代码实现,Storyboard的实质是xcode根据Storyboard文件的描述帮我们转换为代码,总之代码是万能的,那么什么时候适合使用Storyboard什么时候使用代码创建按钮呢?一般一个界面中位置是固定不变的,程序运行时一直是可见的这样一般用Storyboard即可,但是有些控件需要做某些操作时才会出现,这时候一般就会使用代码创建。
二. 代码创建控件的步骤
1. 使用要用控件的类创建控件对象,比如创建按钮控件:
1 // 创建默认类型的按钮 2 UIButton *delete = [[UIButton alloc] init]; 3 // 创建custom类型按钮 4 UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
2.设置控件的各种属性,包括位置尺寸、显示的文字、背景颜色等等,总之在sotryBoard中可以设置的属性代码完全可以做到:
// 设置按钮位置尺寸 btn.frame = CGRectMake(20, 0, ROWH , ROWH); // 设置按钮背景颜色 btn.backgroundColor = [UIColor clearColor];
3. 添加控件到父控件中
// 将按钮添加到当前视图控制器管理的视图中 [self.view addSubview:btn];
4. 如果是按钮还要设置监听事件
// 设置按钮点击后执行deleteClick方法 [delete addTarget:self action:@selector(deleteClick:) forControlEvents:UIControlEventTouchUpInside]; - (void)deleteClick:(UIButton *)btn { NSLog(@"delete btn click"); }
三. 代码创建控件使用实例-联系人管理
下面通过联系人个管理这个简单的应用熟悉代码创建控件,此应用结合了storyboard和代码两种方式创建界面。
本实例的UIToolbar由于位置固定是在storyboard创建,初始状态删除按钮时disable状态。
本程序主要的方法有UIToolbar中增加和删除两个按钮的监听和联系人这一行的创建。
1 @interface ViewController () 2 { 3 NSArray *_names; // 存储姓名 4 } 5 /** UIToolbar中的删除按钮 */ 6 @property (weak, nonatomic) IBOutlet UIBarButtonItem *removeButton; 7 /** UIToolbar中增加联系人按钮的监听 */ 8 - (IBAction)add:(UIBarButtonItem *)sender; 9 /** UIToolbar中删除联系人按钮的监听 会删除最后一行 */ 10 - (IBAction)removeLast:(UIBarButtonItem *)sender; 11 12 @end