@interfaceAppDelegate ()
{
UIView *_containerView;
}
@end
不是一开始定义类的时候定义的实例变量,而是根据需求而定义的实例变量,统一定义在.m文件中的延展中,外界不可见
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary
*)launchOptions
{
self.window
= [[UIWindowalloc]
initWithFrame:[[UIScreenmainScreen]
bounds]];
_containerView = [[UIViewalloc]initWithFrame:CGRectMake(0,0,320,568)];
_containerView.backgroundColor
= [UIColorclearColor];
[self.windowaddSubview:_containerView];
[_containerViewrelease];
UIlabel
是ios中开发用来显示文字的控件,是UIview的子类,所以具有UIview的所有功能,还具有了可以显示文字的功能
UILabel使用过程和UIview类似,也是分四步:
1,创建对象
2.配置属性
3.添加到父视图
4.释放所有权
记住规律:不同的控件之间只是配置的属性的不同,也就是差异所在,所以学习一个新的控件时,只要配置该控件的独有属性即可
UIView *views = [[UIView alloc]initWithFrame:CGRectMake(52, 32, 55, 55)];
views.backgroundColor = [UIColor redColor];
[containerView addSubview:views];
[views release];
当在一个方法中要访问另外一个方法中定义的变局部量时,就把该变量定义为实例变量,或者在多个方法中想访问同一个变量
self.window.backgroundColor
= [UIColorwhiteColor];
[self.windowmakeKeyAndVisible];
returnYES;
}
UILabel *label = [[UILabelalloc]initWithFrame:CGRectMake(110,50,
20,
20)];
label.backgroundColor = [UIColorgreenColor];
label.text =@"hello beautiful gfafdsyryhre eyhrahjsaehtefdns";
[_containerViewaddSubview:label];
[labelrelease];
2设置label上文字的大小
(1)设置字体样式
(2)设置字号
systemFontOfSize:默认使用系统默认的字体,可以更改大小
字体颜色
label.layer.cornerRadius
= 20;
label.font = [UIFontsystemFontOfSize:25];
label.font = [UIFontfontWithName:@"Arial-BoldMT"size:15];
NSLog(@"%@",[UIFontfontNamesForFamilyName:@"Arial"]);
NSLog(@"%@",[UIFontfamilyNames]);
3字体颜色
label.textColor = [UIColorblackColor];
4设置文本的对齐方式
label.textAlignment =NSTextAlignmentCenter;//(枚举类型的)
5设置文本换行,如果不限制行数,将值设置为0
label.numberOfLines =0;
6换行的标准(文本的截取原则)
label.LineBreakMode =NSLineBreakByCharWrapping;
7.设置阴影的偏移量
label.shadowOffset =CGSizeMake(5,0);//往x轴偏移和往y轴偏移
8.设置阴影的颜色
label.shadowColor = [UIColorredColor];
}
UITextFiled是UIControl的子类,UIControl又是UIView的子类,所以也是一个视图,只不过比UIView多了两个功能:(1)文字显示(2)文本编辑
UITextField的使用步骤和UIView一样
1,创建对象
UITextField * field = [[UITextFieldalloc]initWithFrame:CGRectMake(50,50,
220,
30)];
2.配置属性
field.backgroundColor = [UIColororangeColor];
(1)设置field的边框样式
field.layer.cornerRadius =10;
field.borderStyle = UITextBorderStyleRoundedRect;
(2)设置field默认显示的文字(但是不作为文本内容的一部分)(没有显示其他内容才有效)
field.placeholder =@"请输入号码";
(3)设置开始显示的文字(作为文本的一部分)
field.text =@"我爱你";
(4)设置文本的颜色
field.textColor = [UIColorblackColor];
(5)设置文本的对齐方式
field.textAlignment =NSTextAlignmentCenter;
(6)设置文本的字体
field.font = [UIFontfontWithName:@"Arial-BoldMT"size:10];
view.font = [UIFont fontWithName:@"Arial-BoldMT" size:15];
(7)设置输入框是否可编辑
field.enabled =YES;
(8)设置当开始编辑时,是否清除输入框的内容
field.clearsOnBeginEditing =YES;
(9)设置密码模式,输入框中的内容是否以点得形式显示
field.secureTextEntry =YES;
(10)设置弹出键盘样式
field.keyboardType = UIKeyboardTypeNumberPad;
(11)键盘右下角显示的样式
field.returnKeyType =UIReturnKeyGo;
field.clearButtonMode =UITextFieldViewModeNever;
UITextFieldViewModeAlways,不为空获得焦点与没有获得焦点都显示清空按钮
UITextFieldViewModeNever,不显示清空按钮
UITextFieldViewModeWhileEditing,不为空且在编辑状态时(及获得焦点显示清空按钮)
UITextFieldViewModeUnlessEditing, 不为空且不在编译状态时(焦点不在输入框上)显示清空按钮
代理
代理的使用步骤
1.设置代理
2.服从协议
3实现协议中的方法
field.delegate =self;
(13)自定义视图
UIView *view = [[UIViewalloc]initWithFrame:CGRectMake(0,0,
20,
20)];
view.backgroundColor = [UIColororangeColor];
[_containerViewaddSubview:view];
[viewrelease];
field.inputView =view;
3.添加到父视图c
[_containerViewaddSubview:field];
释放所有权
[fieldrelease];
}
当点击键盘右下角return时会触发这个方法
- (BOOL)textFieldShouldReturn:(UITextField
*)textField
{
回收键盘,取消第一响应者
[textField
resignFirstResponder];
NSLog(@"I miss you");
returnYES;
}
UIButton比UILabel,UItextField多出了一个能够让用户点击并且响应的功能(点击事件)
UIButton也是视图,使用步骤和UILabel类似
1创建对象
UIButton *btn = [UIButtonbuttonWithType:UIButtonTypeSystem];
2配置属性
btn.frame =CGRectMake(50,400,
220,
30);
btn.backgroundColor = [UIColorgreenColor];
添加到父视图
[_containerViewaddSubview:btn];
设置圆角
btn.layer.cornerRadius =10;
给button添加点击事件
让target执行action方法,在ControlEvent事件发生之后
click后面的参数:谁调用addTarget:action:方法,参数就是谁,所以参数只能有一个
[btn
addTarget:selfaction:@selector(click:)forControlEvents:UIControlEventTouchUpInside];
给button设置文字
[btn
setTitle:@"hgalk"forState:UIControlStateNormal];
NSString *str = btn.titleLabel.text;(btn.titleLabel.text,只读,只能获取按钮上的文本,不能修改)
NSString *str1 = btn.currentTitle;
改变文字颜色
[btn
setTitleColor:[UIColorlightGrayColor]forState:UIControlStateNormal];
[btn release];
-(void)click:(UIButton
*)btn
{
NSLog(@"%@",btn);
NSLog(@"聪雷大成街类");
}
}