热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

自定义键盘InputAccessoryView在iOS11中不可见

如何解决《自定义键盘InputAccessoryView在iOS11中不可见》经验,为你挑选了3个好方法。

我已经实现了自定义输入附件视图,它工作正常,直到iOS 10.3.1.但它在iOS 11测试版中不可见.

有没有人遇到过这个问题?



1> Jess..:

你问的问题没有太多细节.但是当我为文本字段使用inputAccessoryView和自定义inputView时,我遇到了同样的问题.

并通过将自定义inputView的autoresizingMask设置为.flexibleHeight在iOS11上解决了这个问题.

yourCustomInputView.autoresizingMask = .flexibleHeight

希望这能解决问题.如果没有,可能会提供更多信息?

这是我添加输入附件的方法,这对于更多的帮助(作为textfield的扩展):

public extension UITextField {

public func addToolbarInputAccessoryView(barButtonItems: [UIBarButtonItem],
                                         textColour: UIColor,
                                         toolbarHeight: CGFloat = 44,
                                         backgroundColour: UIColor = .white) {

    let toolbar = UIToolbar()

    toolbar.frame = CGRect(x: 0, y: 0, width: bounds.width, height: toolbarHeight)
    toolbar.items = barButtonItems
    toolbar.isTranslucent = false
    toolbar.barTintColor = backgroundColour
    toolbar.tintColor = textColour

    inputAccessoryView = toolbar
}

}

然后在inputView(而不是inputAccessoryView)上,我使用了日期选择器 - 只需确保日期选择器的自动调整掩码设置为灵活高度.



2> ahbou..:

PSA:如果你使用UIToolbar作为自定义视图,它目前在iOS 11 GM中被破坏了.而不是失去你的头发如何解决它,只需将其改为UIView.你会失去模糊效果,但它会起作用.



3> 小智..:

Beta 3刚刚问世,有些人说它解决了这个问题,但对我来说却没有.

然而,我尝试将配件视图设置为愚蠢的(100pxls高),并发现iPad上的撤消/重做/粘贴栏错误地位于我的配件栏顶部.所以我添加了以下代码来摆脱苹果吧(无论如何我的自定义选择器毫无意义)并且问题消失了

希望这有助于某人

- (void)textFieldDidBeginEditing:(UITextField*)textField  
{  
    UITextInputAssistantItem* item = [textField inputAssistantItem];  
    item.leadingBarButtOnGroups= @[];  
    item.trailingBarButtOnGroups= @[];  
}  


推荐阅读
  • 1.背景相信大家在自己的项目中都会遇到EditText输入的问题,自然而然随之产生的就是让人头痛的键盘问题了,之所以说让人头疼是因为需求不同,设计不同,我们所要做的处理也不同,加上Googl ... [详细]
  • 5transfertheinputtextintoappKeyeventInputConnectionicgetCurrentInputCo ... [详细]
  • InaniOSapplication,isitpossibletomakeownkeyboardsuggestionsiftheusertapsaspecificU ... [详细]
  • ImworkingonamobilewebsitewhichisNOTanativeiPhoneappbutratherasimplem.somedomain.co ... [详细]
  • iOS提供了10种键盘类型,在开发中,我们可以根据不同的需求,选择不同的键盘样式,例如,当我们只需要输入手机号码时,可以选择纯数字类型的键盘(NumbersAndPunctuatio ... [详细]
  • 我有一个PIN码字段组件,它只是包装在React.Fragment中的输入的列表。每 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
  • Android工程师面试准备及设计模式使用场景
    本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ... [详细]
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
  • 本文介绍了pack布局管理器在Perl/Tk中的使用方法及注意事项。通过调用pack()方法,可以控制部件在显示窗口中的位置和大小。同时,本文还提到了在使用pack布局管理器时,应注意将部件分组以便在水平和垂直方向上进行堆放。此外,还介绍了使用Frame部件或Toplevel部件来组织部件在窗口内的方法。最后,本文强调了在使用pack布局管理器时,应避免在中间切换到grid布局管理器,以免造成混乱。 ... [详细]
  • 本文提供了关于数据库设计的建议和注意事项,包括字段类型选择、命名规则、日期的加入、索引的使用、主键的选择、NULL处理、网络带宽消耗的减少、事务粒度的控制等方面的建议。同时还介绍了使用Window Functions进行数据处理的方法。通过遵循这些建议,可以提高数据库的性能和可维护性。 ... [详细]
  • IsthereawaytodetectifakeyiscurrentlydowninJavaScript?是否有一种方法可以检测一个键是否在JavaScript中当前处于关 ... [详细]
  • 在SwiftUI中,我们可以通过向下滑动使键盘在List中进行交互。 ... [详细]
author-avatar
那是黑夜过后的黎明_182
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有