UITextView的基本用法和代理方法
在 .m 文件中
(1)加载视图
—(void)loadview
{
// 4 文本输入框
UITextView* textview1=[[UITextViewalloc]initWithFrame:CGRectMake(80, 220, 160, 30)];
// 代理指向self
textview1.delegate=self;
// 是否选择
textview1.selectable=YES;
//键盘的类型
textview1.keyboardType=UIKeyboardAppearanceDefault;
//返回键盘的类型
textview1.returnKeyType=UIReturnKeyGo;
// 是否可以拖动文本框
textview1.scrollEnabled=YES;
textview1.autoresizingMask=UIViewAutoresizingFlexibleHeight;
//给图层的边框设置为圆角
textview1.layer.cornerRadius=8;
textview1.layer.masksToBounds=YES;
//给文本框加上边框
textview1.layer.borderWidth=5;
//textview1.layer.masksToBounds=YES;
//获得焦点
[textview1 becomeFirstResponder];
//定义一个toolBar
UIToolbar* topview=[[UIToolbaralloc]initWithFrame:CGRectMake(0, 0, 320, 20)];
//设置style
[topview setBarStyle:UIBarStyleBlack];
//定义两个flexibleSpace的button,放在toolBar上,这样完成按钮就会在最右边
UIBarButtonItem* button2=[[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:selfaction:Nil];
UIBarButtonItem* button3=[[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:selfaction:Nil];
//定义完成按钮
UIBarButtonItem*donebutton=[[UIBarButtonItem alloc]initWithTitle:@"finish"style:UIBarButtonItemStyleDone target:self action:nil];
NSArray* arrybutton=[[NSArrayalloc]initWithObjects:button2,button3,donebutton, nil];
[topview setItems:arrybutton];
//在toolBar上加上这些按钮
[textview1 setInputAccessoryView:topview];
[self.view addSubview:textview1];
}
(2)UITextView的代理方法
//开始编辑
-(BOOL)textViewShouldBeginEditing:(UITextView *)textView
{
NSLog(@"textViewShouldBeginEditing");
return YES;
}
//编辑后文本输入框的颜色
-(void)textViewDidBeginEditing:(UITextView *)textView
{
NSLog(@"textViewDidBeginEditing");
textView.backgroundColor=[UIColorgreenColor];
}
//结束编辑时文本框的颜色
-(BOOL)textViewShouldEndEditing:(UITextView *)textView
{
NSLog(@"textViewShouldEndEditing");
textView.backgroundColor=[UIColorwhiteColor];
return YES;
}
//结束编辑
-(void)textViewDidEndEditing:(UITextView *)textView
{
NSLog(@"textViewDidEndEditing");
}
(3)隐藏键盘(点击空白处)
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"touchesbegan:withevent:");
[self.view endEditing:YES];
[super touchesBegan:toucheswithEvent:event];
}