IOS開發入門基本知識——(UIButton UIView UILabel的創建)



在剛一開始,創建一個簡單的加法計算器的話,通常需要加入基本的部件

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章