关于点击UIButton弹出键盘,并且键盘的上方还需添加UITextField或者UITextView的解决方法

2023-11-05

最近在做一个项目的时候,有这样一个需求,点击UIButton弹出键盘,键盘的上方还需添加一个输入框(UITextField/UITextView,开始的想法是直接设置输入框的

inputAccessoryView,设置后发现键盘根本就没显示出来.经过无数次的修改与查找资料之后,终于大功告成。废话不多说了,先上代码。


//创建输入框视图

- (void)createCommentsView {
    if (!commentsView) {
        
        commentsView = [[UIView alloc] initWithFrame:CGRectMake(0.0, SCREEN_HEIGHT - TAB_BAR_HEIGHT - 40.0, SCREEN_WIDTH, 40.0)];
        commentsView.backgroundColor = [UIColor whiteColor];
        
        commentText = [[UITextView alloc] initWithFrame:CGRectInset(commentsView.bounds, 5.0, 5.0)];
        commentText.layer.borderColor   = [COLORRGB(212.0, 212.0, 212.0) CGColor];
        commentText.layer.borderWidth   = 1.0;
        commentText.layer.cornerRadius  = 2.0;
        commentText.layer.masksToBounds = YES;
        
        commentText.inputAccessoryView  = commentsView;
        commentText.backgroundColor     = [UIColor clearColor];
        commentText.returnKeyType       = UIReturnKeySend;
        commentText.delegate            = self;
        commentText.font                = [UIFont systemFontOfSize:15.0];
        [commentsView addSubview:commentText];
    }
    [self.view.window addSubview:commentsView];//添加到window上或者其他视图也行,只要在视图以外就好了
    [commentText becomeFirstResponder];//让textView成为第一响应者(第一次)这次键盘并未显示出来,(个人觉得这里主要是将commentsView设置为commentText的inputAccessoryView,然后再给一次焦点就能成功显示)
}

- (void)showCommentText {
    [self createCommentsView];
    
    [commentText becomeFirstResponder];//再次让textView成为第一响应者(第二次)这次键盘才成功显示
}


//button的点击事件

- (void)handleClickComment:(UIButton *) sender {
    //这里是为了防止连续点击
    sender.userInteractionEnabled = NO;
    [sender performSelector:@selector(setUserInteractionEnabled:) withObject:@YES afterDelay:1];
    [self showCommentText];
}


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于点击UIButton弹出键盘,并且键盘的上方还需添加UITextField或者UITextView的解决方法 的相关文章

  • iOS开发—RunLoop详解

    随着oc语言不断迭代 苹果的API也是逐步完善 RunLoop在实际开发中应用的越来越少 但是在面试中 假如面试官问你RunLoop的相关知识了解 那就相当于面试官在问你从事iOS开发工作的真实年限问题 那么下面我们就详细了解一下RunLo
  • 两个app应用之间的跳转

    一 应用跳转的原理 从一个应用跳转到另一个应用 作为APP开发者 最熟悉的莫过于第三方登录 支付宝 微信支付时 那时候我们可能仅仅按照集成文档一步一步操作 在文档中配置很多类似URL Schemes 如下图 一般的配置 下面我们进入正题的为
  • 关于点击UIButton弹出键盘,并且键盘的上方还需添加UITextField或者UITextView的解决方法

    最近在做一个项目的时候 有这样一个需求 点击UIButton弹出键盘 键盘的上方还需添加一个输入框 UITextField UITextView 开始的想法是直接设置输入框的 inputAccessoryView 设置后发现键盘根本就没显示
  • iOS 15 适配踩坑:NavigationBar、UITabBar失效问题

    苹果前两天推出了iOS 15 秋天都等不及 相关链接 ios 15 0 适配问题 NavigationBar和UITabBar失效问题 Xcode 13 beta版 iOS 15 beta 3的系统 除了客户提出的问题 自己还发现了两处UI
  • xxx.app已损坏,打不开。 您应该将它移到废纸篓。

    Mac最新的系统打开网上下载的应用程序时 会提示 xxx app已损坏 打不开 您应该将它移到废纸篓 解决方式 1 系统偏好设置 gt 安全性与隐私 gt 修改为任何来源 2 serria里面没有 任何来源 这一项 需要打开终端执行sudo
  • Xcode项目设置项中的LLVM

    LLVM是构架编译器
  • iOS Cookies.binarycookies(俗称63数据)存取

    iOS 系统会自动将Safari或APP中网络请求的cookie保存为文件 APP的cookie保存路径为APP的沙盒路径 var mobile Containers Data Application x x x Library Cooki
  • json文件解析出现异常

    今天在尝试用自带的NSJSONSerialization方法来解析本地json文件的时候碰到了系统异常 app自动终止 问题如下 代码
  • ad Hoc打包测试

    一 iOS证书 首先介绍一下iOS证书 iOS证书分两种 1 开发证书 用来给你 开发人员 做真机测试 2 发布证书 又分为两种 发布到app store 和发布测试的ad hoc证书 本文就详细讲解 ad hoc证书的创建 二 什么时候用
  • iOS开发之ReactiveCocoa框架(RAC)第五篇队列与高级函数

    h文件 import ViewController h import ReactiveCocoa interface ViewController end implementation ViewController void viewDid
  • iOS17适配指南-新版

    文章目录 一 iOS17适配点 二 具体代码 一 iOS17适配点 UIView与UIViewController 可以设置数据为空时的占位视图 增加SymbolAnimations 通过addSymbolEffect 与removeSym
  • iOS开发之内存管理

    iOS开发之内存管理 一 垃圾回收机制 二 内存管理的概念 三 OC内存管理注意事项 四 MRC相关语法 一 垃圾回收机制 与Java语言相同Objective c 2 0之后 也提供了垃圾回收机制 OC是支持垃圾回收机制的 Garbage
  • iOS weak关键字实现原理

    在iOS中 使用weak关键字能够对内存对象进行弱引用 基于这个特性 使用weak关键字能够解决许多问题 例如delegate中对象的循环持有问题 Block对对象的强引用导致的对象无法及时释放问题 为何weak关键字能够实现对内存对象的弱
  • IOS开发系列——异步绘制专题

    异步绘制专题 1 图片处理 1 1 编辑图片的几个方法 第一种 先用UIImage对象加载一张图片 然后转化成CGImageRef放到CGContext中去编辑 第二种 用CGImageCreate函数创建CGImageRef 然后把CGI
  • 自定义modal转场动画,滑动手势控制 dismiss 过程

    效果 假设有 1 两个视图控制器 presentingVC presentedVC 2 一个继承于UIPercentDrivenInteractiveTransition 并遵守协议UIViewControllerAnimatedTrans
  • iOS代码混淆初探

    iOS代码混淆初探 在没有对应用的代码做过特殊处理的情况下 一般应用的代码中的类名和方法都是明文的 在逆向分析中 通过class dump获取MachO可执行文件中的所有类 定义的方法和属性 就能很快的从名字入手猜到这个方法是做什么用的 所
  • 如何在 Interface Builder 中使用自动布局创建键盘配件视图?

    我想向小数键盘添加一个 完成 按钮和分段控件 理想情况下 我想在 Interface Builder 中使用自动布局来布局键盘附件视图 这可能吗 我是否创建一个新的 XIB 或者我可以在现有的 Storyboard 场景中以某种方式完成它
  • 如何使InputAccessoryView出现在UITabBarViewController的选项卡上方?

    我有一个自定义视图 我正在使用它inputAccessoryView for my tableViewController the tableViewControlleris里面一个tabBarViewController它位于导航控制器内
  • iPhone X如何处理View Controller inputAccessoryView?

    我有一个消息应用程序 它具有典型的 UI 设计 即全屏表格视图底部的文本字段 我将该文本字段设置为视图控制器的inputAccessoryView并打电话ViewController becomeFirstResponder 以使该字段显示
  • 自定义键盘 InputAccessoryView 在 iOS 11 中不可见

    我已经实现了自定义输入附件视图 直到 iOS 10 3 1 为止它都工作正常 但在 iOS 11 beta 中是看不到的 有人遇到过这个问题吗 你问的问题没有太多细节 但是当我为文本字段使用 inputAccessoryView 和自定义

随机推荐