- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在过去两天尝试实现一个随着用户输入而增长的 UITextView。就像 whats-app 一样。
我在这里找到了有关 textViewDidChange 的示例,但这并没有真正起作用,因为它不仅需要增长,还需要向上移动。由于 TextView 位于同时包含发送按钮的 View 中,因此它们都必须向上增长。
还发现了一些其他的框架。
https://github.com/slackhq/SlackTextViewController - 看起来真的很酷,可以做我需要的一切,但我没有发现它运行 swift 例子。提供的示例工程我运行不了。
https://github.com/MatejBalantic/MBAutoGrowingTextView - 无法真正让它向上工作。
我正在寻找一些关于如何使用 SWIFT 实现它的帮助,或者可能是在 swift 上运行的 SLACK 示例项目,而不是 github 上的示例项目。或者可能是一些代码显示如何将 UITextView 链接到 Slack 类并使其在 viewController 类中工作。
最佳答案
这是我目前用于我的 inputAccessoryView 的内容。
我有一个工具栏,它包含 UITextView 和发送按钮并监听 textViewDidChange 事件,如下所示:
func textViewDidChange(_ textView: UITextView) {
let oldHeight = textView.height
let maxHeight: CGFloat = 100.0 //beyond this value the textView will scroll
var newHeight = min(textView.sizeThatFits(CGSize(width: textView.frame.width, height: CGFloat.greatestFiniteMagnitude)).height, maxHeight)
newHeight = ceil(newHeight)
if newHeight != oldHeight {
textView.frame.size.height = max(newHeight, barHeight)
updateHeight(height: newHeight)
}
}
此处的目标是设置新的 textView 高度。然后我也更新工具栏高度
public func updateToolBarHeight(height: CGFloat) {
for constraint in constraints {
if constraint.firstAttribute == NSLayoutAttribute.height && constraint.firstItem as! NSObject == self {
constraint.constant = max(barHeight, height)
}
}
setNeedsUpdateConstraints()
sendButton.origin.y = max(0, height - barHeight)
}
barHeight 是我的默认工具栏高度(设置为 50.0)。并且我还更新了我的 sendButton 位置以留在工具栏的底部。
关于ios - 不断增长的文本输入 View - swift 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32637794/
如果这不是一个错误,那就是另一个错误。如果不是那样的话,那就是别的东西了。我觉得我的项目已经改变了很多,现在只是试图解决代码签名问题,结果一切都搞砸了。我严格按照说明进行操作,但出现错误,例如当前的“
我不确定是否有一些我不知道的内置变量或规则,或者 make 是否有问题,或者我只是疯了。 对于我的一个项目,我有一个如下的 makefile: CC=g++ CFLAGS=-O3 `libpng-co
我有大约 10 个 div,它们必须不断翻转,每个 div 延迟 3 秒 这个 codrops 链接的最后一个效果是我正在寻找的,但无需单击 div http://tympanus.net/Devel
我如何使用 jQuery 持续运行 PHP 脚本并每秒获取响应,以及将鼠标上的少量数据发送到同一脚本? 我真的必须添加一些随机扩展才能让这么简单的计时器工作吗? 最佳答案 To iterate is
JBoss 4.x EJB 3.0 我见过如下代码(大大简化): @Stateless @TransactionAttribute(TransactionAttributeType.NOT_SUPPO
使用 PHPStorm,我试图忽略每次尝试进行 git 提交时 pop 的 workspace.xml。 我的 .gitignore 看起来像: /.idea/ .idea/workspace.xml
我是一名优秀的程序员,十分优秀!