您的位置:首页 > 产品设计 > UI/UE

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS UITextView