UITextView
2013-12-04 21:24
288 查看
UITextView,即多行文本输入框。
1、创建
self.inputUITextView = [[UITextViewalloc]initWithFrame:CGRectMake(0,60,
320,150)];
2、设置textView的属性
self.inputUITextView.textColor = [UIColorblueColor];
self.inputUITextView.font = [UIFontfontWithName:@"Arial"size:12.0];
self.inputUITextView.backgroundColor = [UIColorgrayColor];
self.inputUITextView.keyboardType =UIKeyboardTypeNumbersAndPunctuation;//键盘类型
self.inputUITextView.returnKeyType =UIReturnKeyYahoo;
//返回键的类型
self.inputUITextView.scrollEnabled =YES;
self.inputUITextView.autoresizingMask =UIViewAutoresizingFlexibleHeight;//自适应高度
self.inputUITextView.clearsOnInsertion =YES;
3、设置代理,并放入view的目录树
self.inputUITextView.delegate =self;
[self.viewaddSubview:self.inputUITextView];
4、UITextView处理键盘的几种方式
1)使用键盘的return(返回键)
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if ([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
}
2)
如果app有导航条,可以利用顶部的导航条,加一个完成的button
self.navigationItem.rightBarButtonItem = [[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDonetarget:selfaction:@selector(leaveTextView)];
- (void)textViewDidEndEditing:(UITextView *)textView {
self.navigationItem.rightBarButtonItem =nil;
}
- (void) leaveTextView{
[self.inputUITextViewresignFirstResponder];
}
3)使用键盘的inputAccessoryView
UIToolbar *topView = [[UIToolbar
alloc]initWithFrame:CGRectMake(0,
0, 320,
30)];
topView.barStyle =
UIBarStyleDefault;
UIBarButtonItem * doneButton = [[UIBarButtonItem
alloc]initWithTitle:@"完成"
style:UIBarButtonItemStyleDone
target:self
action:@selector(dismissKeyboard)];
[topView setItems:[NSArray
arrayWithObjects:doneButton, nil]];
self.inputUITextView.inputAccessoryView = topView;
-(void)dismissKeyboard
{
[self.inputUITextView
resignFirstResponder];
}
4)点击空白区域退出键盘
//添加点击手势,使得点击空白区域,使键盘收起,对应方法四
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer
alloc]initWithTarget:self
action:@selector(viewTaped:)];
[self.view
addGestureRecognizer:tapGesture];
-(void)viewTaped:(UITapGestureRecognizer*)tapGesture
{
[self.inputUITextView
resignFirstResponder];
}
详细的demo见: https://github.com/tingxuan/txUITextViewDemo
1、创建
self.inputUITextView = [[UITextViewalloc]initWithFrame:CGRectMake(0,60,
320,150)];
2、设置textView的属性
self.inputUITextView.textColor = [UIColorblueColor];
self.inputUITextView.font = [UIFontfontWithName:@"Arial"size:12.0];
self.inputUITextView.backgroundColor = [UIColorgrayColor];
self.inputUITextView.keyboardType =UIKeyboardTypeNumbersAndPunctuation;//键盘类型
self.inputUITextView.returnKeyType =UIReturnKeyYahoo;
//返回键的类型
self.inputUITextView.scrollEnabled =YES;
self.inputUITextView.autoresizingMask =UIViewAutoresizingFlexibleHeight;//自适应高度
self.inputUITextView.clearsOnInsertion =YES;
3、设置代理,并放入view的目录树
self.inputUITextView.delegate =self;
[self.viewaddSubview:self.inputUITextView];
4、UITextView处理键盘的几种方式
1)使用键盘的return(返回键)
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if ([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
}
2)
如果app有导航条,可以利用顶部的导航条,加一个完成的button
self.navigationItem.rightBarButtonItem = [[UIBarButtonItemalloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDonetarget:selfaction:@selector(leaveTextView)];
- (void)textViewDidEndEditing:(UITextView *)textView {
self.navigationItem.rightBarButtonItem =nil;
}
- (void) leaveTextView{
[self.inputUITextViewresignFirstResponder];
}
3)使用键盘的inputAccessoryView
UIToolbar *topView = [[UIToolbar
alloc]initWithFrame:CGRectMake(0,
0, 320,
30)];
topView.barStyle =
UIBarStyleDefault;
UIBarButtonItem * doneButton = [[UIBarButtonItem
alloc]initWithTitle:@"完成"
style:UIBarButtonItemStyleDone
target:self
action:@selector(dismissKeyboard)];
[topView setItems:[NSArray
arrayWithObjects:doneButton, nil]];
self.inputUITextView.inputAccessoryView = topView;
-(void)dismissKeyboard
{
[self.inputUITextView
resignFirstResponder];
}
4)点击空白区域退出键盘
//添加点击手势,使得点击空白区域,使键盘收起,对应方法四
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer
alloc]initWithTarget:self
action:@selector(viewTaped:)];
[self.view
addGestureRecognizer:tapGesture];
-(void)viewTaped:(UITapGestureRecognizer*)tapGesture
{
[self.inputUITextView
resignFirstResponder];
}
详细的demo见: https://github.com/tingxuan/txUITextViewDemo
相关文章推荐
- UITextView自定文字选择后菜单
- 【iphone应用开发】iphone 应用开发之二:UITextView控件的详细讲解
- UITextView光标位置的设置
- 禁用UITextView和用户交换信息,复制、剪贴
- UITextView控件的用法详解
- UITextView关闭键盘
- UITextView 退出键盘的方式
- UITextView接收左右点击事件。
- UITextView的placeholder猥琐做法
- UITextView
- UITextView及键盘隐藏
- UITextView 退出键盘的方式
- UITextView显示HTML内容,实现显示不同的字体和文字颜色
- UITextView及键盘隐藏
- TextKit学习(三)NSTextStorage,NSLayoutManager,NSTextContainer和UITextView
- UITextView的用法及技巧
- UITextView 边框的设置
- UITextView
- IOS----UITextView自定文字选择后菜单
- iOS开发之UITextView圆角边框