现在的位置: 首页 > 综合 > 正文

IOS开发入门基本知识——(UIButton UIView UILabel的创建)

2013年09月16日 ⁄ 综合 ⁄ 共 2441字 ⁄ 字号 评论关闭

在刚一开始,创建一个简单的加法计算器的话,通常需要加入基本的部件

UIText添加方法   UItext 继承 UITextField

//创建一个基本的text
UITextField* text1=[[UITextField alloc]initWithFrame:CGRectMake(10, 100, 60, 40)];
//设置边框样式 
text1.borderStyle=UITextBorderStyleRoundedRect ;
//设置文本垂直对齐方式
text1.contentVerticalAlignment= UIControlContentVerticalAlignmentCenter;
// text1.contentHorizontalAlignment=UIControlContentHorizontalAlignmentLeft;//无效长时
//文本框添加到应用程上面

text1.keyboardType=UIKeyboardTypeNumberPad;
text1.keyboardAppearance=UIKeyboardAppearanceAlert;//设置键盘外观

[self.window addSubview:text1];
[text1 release];

UILabel 的创建和设置  UILabel 继承UIView

UILabel *labelOne=[[UILabel alloc]initWithFrame:CGRectMake(70, 100, 30, 40)];//创建一个label的大小
[labelOne setFont:[UIFont fontWithName:@"Arial Bold" size:38]];//label通常是静态展示框,所以通过这样的设置直接记录要在label上面展示出来什么
[labelOne setBackgroundColor:[UIColor redColor]];
labelOne.text=@"+";//label上面的符号标识,通常用text属性来设置
labelOne.textAlignment=NSTextAlignmentCenter;
//文本框添加到应用程上面
labelOne.textColor=[UIColor greenColor];
[self.window addSubview:labelOne];
[labelOne release];

UIButton不同于以上两种,主要的不同点在于UIButton继承UIControl,在进行之前先要便利构造的方法来创建UIButton的样式

+ (id)buttonWithType:(UIButtonType)buttonType;

然后设置button的具体大小和位置,以及相关属性

UIButton*button=[UIButton buttonWithType:UIButtonTypeCustom];//便利构造创建,autorelease
button.frame=CGRectMake(110, 200, 100, 40) ;
[button setBackgroundImage:[UIImage imageNamed:@"dyfm.ico"] forState:UIControlStateNormal];
[button setTitle:@"计算" forState:UIControlStateNormal];
[button setTitleColor:[UIColor yellowColor] forState:UIControlStateNormal];
[button.titleLabel setFont:[UIFont fontWithName:@"Arial Bold" size:38]];
[ button addTarget:self action:@selector(doButton:) forControlEvents:UIControlEventTouchDown];
[button setBackgroundColor:[UIColor blueColor]];
[self.window addSubview:button];

在以上的代码中,有一句设置了button被击中时候的触发事件,其中自己监听自己是否被击中,然后触发的事件要调用下面的方法得以实现。请注意方法实现的代码

-(void)doButton:(UIButton*)sender//控制类都应该有一个控制传自己的能力

{ if([text1 isFirstResponder]){
[text1 resignFirstResponder];
}else
if ([text2 isFirstResponder]) {
[text2 resignFirstResponder];
}

[sender setTitle:@"Hello" forState:UIControlStateNormal];
NSLog(@"The butten has been pressed");
NSLog(@"text1=%@,text2=%@",text1,text2);
NSInteger oneValue=[text1.text integerValue];
NSInteger twoValue=[text2.text integerValue];
lableThree.text=[NSString stringWithFormat:@"%d",oneValue+twoValue];
}

在以上的代码中,if 用来处理一个第一响应者事件,以此做到收回键盘。

提到键盘,通常都会遇到我们textfield往往不能跟着键盘的高度做一些调整,那么在同样触发事件的同时,我们应该加入textfield纵坐标向上移,以下数据是必要时候的参考,ipad 和iphone的键盘高度不同,设置不一样

IPAD键盘高度:
portrait 264
landscape 352.
iPhone键盘高度:
Portrait 216
landscape 140

抱歉!评论已关闭.