`
lizhuang
  • 浏览: 904186 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

UITextView关闭键盘

 
阅读更多
1.如果你程序是有导航条的,可以在导航条上面加多一个Done的按钮,用来退出键盘,当然要先实UITextViewDelegate。
Java代码  收藏代码
- (void)textViewDidBeginEditing:(UITextView *)textView {    
   UIBarButtonItem *done =    [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(leaveEditMode)] autorelease];    
   self.navigationItem.rightBarButtonItem = done;        
}    
    
- (void)textViewDidEndEditing:(UITextView *)textView {    
    self.navigationItem.rightBarButtonItem = nil;    
}    
    
- (void)leaveEditMode {    
    [self.textView resignFirstResponder];    
} 
  


2.如果你的textview里不用回车键,可以把回车键当做退出键盘的响应键。
代码如下:
Java代码  收藏代码
#pragma mark - UITextView Delegate Methods     
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text    
{    
    if ([text isEqualToString:@"\n"]) {    
        [textView resignFirstResponder];    
        return NO;    
    }    
    return YES;    
}    


这样无论你是使用电脑键盘上的回车键还是使用弹出键盘里的return键都可以达到退出键盘的效果。

3.第三种方法感觉效果比上面两种都好,就是在弹出的键盘上面加一个view来放置退出键盘的Done按钮。
Java代码  收藏代码
- (void) initFeedText{  
    //初始化 UITextView  
    CGRect frame = CGRectMake(12, 0, 160, 88);  
    textFeed = [[UITextView alloc] initWithFrame:frame];  
    textFeed.delegate = self;  
    textFeed.font = [UIFont fontWithName:@"TrebuchetMS" size:16];  
    textFeed.backgroundColor = [UIColor clearColor];  
    textFeed.autocorrectionType = UITextAutocorrectionTypeYes;  
    textFeed.autocapitalizationType = UITextAutocapitalizationTypeNone;  
    textFeed.keyboardType = UIKeyboardTypeDefault;  
    textFeed.returnKeyType = UIReturnKeyDone;  
    textFeed.delegate = self;  
      
    //在弹出的键盘上面加一个view来放置退出键盘的Done按钮  
    UIToolbar * topView = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 30)];    
    [topView setBarStyle:UIBarStyleDefault];  
    UIBarButtonItem * btnSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];  
    UIBarButtonItem * doneButton = [[UIBarButtonItem alloc] initWithTitle:@"完成" style:UIBarButtonItemStyleDone target:self action:@selector(dismissKeyBoard)];      
    NSArray * buttonsArray = [NSArray arrayWithObjects:btnSpace, doneButton, nil];   
    [btnSpace release];  
    [doneButton release];  
    [topView setItems:buttonsArray];  
    [textFeed setInputAccessoryView:topView];  
    [topView release];  
}  
  
//关闭键盘  
-(void) dismissKeyBoard{  
    [textFeed resignFirstResponder];  
}  

分享到:
评论

相关推荐

    IOS 开发UITextView回收或关闭键盘

    下面将介绍三种实现UITextView关闭键盘的方法。 方法一:使用导航条上的 Done 按钮 在导航条上添加一个 Done 按钮,可以用来退出键盘。首先,需要实现 UITextViewDelegate 来监听 UITextView 的编辑状态。在 ...

    iPhone把遮罩层添加到UITextView键盘上

    在iOS应用开发中,我们经常会遇到用户在使用`UITextView`进行文字输入时,由于键盘弹出遮挡了部分屏幕内容的问题。为了提供更好的用户体验,开发者可以实现一个遮罩层来覆盖键盘,使得用户在输入时依然能清晰看到...

    ios自定义键盘附件关闭键盘

    - 为了使自定义键盘能够关闭,需要在附件按钮的点击事件处理程序中,找到当前第一响应者(通常是UITextField或UITextView)并调用其resignFirstResponder方法。例如: ```objc - (IBAction)...

    UITextView.xcodeproj.zip_xcode UITextView

    例如,设置`autocorrectionType = .no` 可关闭自动纠错。 6. **富文本支持**: `UITextView` 支持显示富文本,通过`attributedText` 属性可以设置不同样式的文本,如粗体、斜体、颜色、下划线等。 7. **插入图片...

    UITextViewDemo

    10. **用户交互反馈**:为了提供良好的用户体验,可能需要添加手势识别器来响应用户触摸事件,比如点击空白区域关闭键盘。 通过`UITextViewDemo`,开发者可以学习到如何在实际项目中灵活运用`UITextView`,特别是在...

    ios应用源码之一个比较完美的键盘控制器,包含多种键盘变化 2018127

    在iOS中,当一个UITextField或UITextView成为第一响应者时,系统会自动弹出键盘。然而,这往往会导致界面挤压,影响到用户的视图体验。键盘控制器的主要目标就是解决这个问题,提供平滑的键盘显示和隐藏动画,并且...

    UiOS开发中ITextView回收或关闭键盘使用方法总结

    本文将详细介绍几种在`UITextView`中关闭或回收键盘的方法。 **方法一:利用导航栏添加Done按钮** 如果你的应用有导航栏,可以在导航栏右侧添加一个“Done”按钮,让用户点击后关闭键盘。首先,需要实现`...

    iOS 软键盘遮挡问题 点击外部隐藏软键盘

    这样,用户可以轻松地通过键盘本身的返回键来关闭键盘,而无需触摸屏幕其他地方。 另一个解决方法是“点击外部UIView时,隐藏软键盘”。这是通过监听用户触摸事件实现的。我们可以为视图添加一个手势识别器,如...

    swift-YJKeyBoard一行代码解决iOS键盘遮挡问题

    当用户在文本框(UITextField或UITextView)中输入时,弹出的键盘有时会遮挡住部分内容,给用户带来不便。为了解决这个问题,Swift社区提供了一些优秀的解决方案,其中“YJKeyBoard”是一个小巧而强大的库,只需一行...

    ios7隐藏虚拟键盘,解决键盘挡住UITextField问题

    同时,可以在工具栏上添加“隐藏键盘”按钮,方便用户快速关闭键盘。 3. 使用`UIKeyboardFrameBeginUserInfoKey`和`UIKeyboardFrameEndUserInfoKey`: 这两个键可以获取到键盘的大小,从而计算出需要移动视图的...

    swift-CarBoard-简单实现车牌号自定义键盘

    同时,为了使自定义键盘与文本输入框关联,需要在`UITextField`或`UITextView`的`inputView`属性中设置自定义键盘实例。 总的来说,`swift-CarBoard-简单实现车牌号自定义键盘`项目是一个很好的示例,展示了如何...

    iOS简单实现隐藏键盘

    在iOS开发中,用户在与UITextField或UITextView交互时,会自动弹出系统键盘以便输入文本。然而,有时用户可能希望快速隐藏键盘以获得更好的用户体验,例如在浏览内容或者进行其他操作时。本文将详细讲解如何在iOS...

    ios-键盘上弹出控件.zip

    可以实现uitextfield的`returnKeyType`属性,设置一个“完成”键来关闭键盘,或者监听`UIKeyboardWillHideNotification`并在适当的时候调用`resignFirstResponder`方法。 7. 键盘工具栏(InputAccessoryView): ...

    iphone自定义数字键盘

    在实际应用中,务必进行充分的测试,确保在不同情况下键盘的正常工作,包括输入逻辑、键盘的显示和隐藏、边缘滑动关闭键盘等。同时,关注性能优化,减少不必要的计算和内存占用。 通过以上步骤,你可以创建一个功能...

    ios应用源码之点击输入框弹出键盘时,输入框的整个视图向上移动以便用户可以看到输入的内

    当用户点击输入框(UITextField或UITextView)弹出键盘时,有时由于键盘遮挡,输入框会被隐藏在键盘下方,导致用户无法看到正在输入的内容。为了解决这个问题,iOS提供了多种方法来处理键盘弹出时视图的自动调整,以...

    自定义数字键盘

    3. **响应用户输入**:在点击事件处理函数中,我们需要更新与键盘交互的文本输入视图(如`UITextField`或`UITextView`)的文本内容。可以使用`insertText:`方法插入用户选择的数字。 4. **处理特殊功能**:除了数字...

    ios数字键盘添加完成按钮

    然而,系统默认的数字键盘并没有提供一个“完成”或“确定”按钮,用户需要手动点击屏幕上的“返回”键来关闭键盘,这在某些情况下可能不太方便。本文将探讨如何在iOS应用中自定义数字键盘,添加一个“完成”按钮,...

    在iOS虚拟键盘上添加动态隐藏按钮

    当用户点击按钮时,手势识别器会触发相应的事件处理函数,此时可以调用 `resignFirstResponder` 方法关闭键盘,或者执行其他业务逻辑。 3. 注册自定义键盘: 在Info.plist文件中,添加`UIKeyboardType`键,并设置...

Global site tag (gtag.js) - Google Analytics