您的位置:首页 > 移动开发 > IOS开发

【iOS基础控件 - 2 】 用代码创建控件,不用storyboard

2015-01-08 17:43 381 查看
在开发过程中,并不是每次都通过storyboard拖控件完成UI界面,因为storyboard上面的界面是“固定死”的,有时候可能会在程序运行过程中动态地添加一些新的控件到界面上。

比如QQ的聊天信息,是有人发出一条信息后才动态显示出来的。

因此,需要掌握如何用代码动态地添加控件 实际上,storyboard的本质就是根据图形界面描述转成相应的代码。

实践:


@implementation kViewController




- (void)viewDidLoad


{


[super viewDidLoad];


//1.创建按钮


UIButton *btn = [[UIButton alloc]init]; // [UIButton buttonWithType:UIButtonTypeCustom];


//2.添加按钮


[self.view addSubview:btn];


//3.设置frame


btn.frame = CGRectMake(50, 50, 100, 100);


//4.设置背景色


btn.backgroundColor = [UIColor blueColor];




//通过文件名加载图片,凡是png图片都不用加拓展名


UIImage *image = [UIImage imageNamed:@"m_6_634517026029062500_10397576"];


[btn setBackgroundImage:image forState:UIControlStateNormal];




UIImage *highlignt = [UIImage imageNamed:@"m_14_634599171325781250_35568510"];


[btn setBackgroundImage:highlignt forState:UIControlStateHighlighted];




[btn setTitle:@"点我啊" forState:UIControlStateNormal];


[btn setTitle:@"摸我干嘛" forState:UIControlStateHighlighted];




//监听按钮点击


[btn addTarget:self action:@selector(btnclick:) forControlEvents:UIControlEventTouchUpInside];


}




-(void)btnclick:(UIButton *) btn{

NSLog(@"-----%@",btn);

}

几行代码就可以代替在storyboard拖拽并设置控件属性同样的效果



// 取得按钮的第一种做法是拖线,自动生成属性代码

// 取得按钮的另外一种方法,如果两个view的tag相同,则按照优先级先找到先放进去的view

//UIButton *UIbtn = (UIButton *)[self.view viewWithTag:xxx];//tag的值是在storyboard设置的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: