相关疑难解决方法(0)

如何将UITextView的大小调整为其内容?

有没有一种很好的方法来调整a的大小UITextView以符合其内容?比方说我有一个UITextView包含一行文字:

"Hello world"
Run Code Online (Sandbox Code Playgroud)

然后我添加另一行文字:

"Goodbye world"
Run Code Online (Sandbox Code Playgroud)

在Cocoa Touch中是否有一个好方法rect可以保存文本视图中的所有行,以便我可以相应地调整父视图?

再举一个例子,查看日历应用程序中事件的注释字段 - 注意单元格(及其UITextView包含)如何扩展以包含注释字符串中的所有文本行.

cocoa-touch uitextview uikit ios autolayout

512
推荐指数
20
解决办法
37万
查看次数

在iOS 7中具有UITextView高度的UITableViewCell?

如何在iOS 7中使用UITextView计算UITableViewCell的高度?

我在类似的问题上找到了很多答案,但sizeWithFont:参与了每个解决方案,这个方法已被弃用!

我知道我必须使用- (CGFloat)tableView:heightForRowAtIndexPath:但是如何计算TextView显示整个文本所需的高度?

height cocoa-touch uitableview ios7

121
推荐指数
4
解决办法
9万
查看次数

键盘上的UIView类似于iMessage App

目前我正在尝试基本实现和精确复制Apples iMessage App.

这意味着我需要一个停靠在屏幕底部的UITextView,并在它成为firstResponder时向上移动. - 实际上这很容易.有很多方法可以做到这一点,如果收到通知,最常见的两个当然是向上或向下动画.另一种是通过inputAccessoryView来完成.可悲的是,有一些功能,另一个没有.它们似乎是相互排斥的.

最大的问题是轮换.

我已经深入研究了至少七个不同的github项目,它们都重新实现了我想要实现的相同功能/行为,但实际上所有这些项目都失败了.

例如,官方Facebook/FacebookMes​​senger /(可能是WhatsApp)应用程序使用的HPGrowingTextView是一大块垃圾代码.拿你的iDevice,打开Facebook应用程序,进行聊天,弹出键盘并旋转你的设备.如果你注意你会注意到输入条略微跳跃,并在键盘的框架和它自己的框架之间留下一些空白.然后在显示键盘时查看iMessage中的Apples实现.这是完美的.

除此之外,HPGrowingTextView库使用的contentOffset和EdgeInset-hacking给了我噩梦.

所以我想自己做,从头开始.

现在,我已经有了一个非常光滑,优雅和无法实现的不断增长的UITextView,但缺少一部分.

优雅的旋转.

当我在willRotateToInterfaceOrientation:duration:方法中简单地将帧调整到各自的新位置时,一切都会完美地完成,但我遇到的问题与HPGrowingTextView(请参阅Facebook App)有关.旋转发生时,输入视图和键盘之间有一点点空间.

我发现当将设备旋转到横向时,当前显示的人像键盘不会"变形"而是消失(发送'willHide'通知)并重新出现横向版本(发送'willShow'通知).过渡是一种非常微妙的淡化,可能还有一些调整.

我使用inputAccessoryView重新实现了我的项目,看看当时发生了什么,我感到非常惊喜.inputAccessoryView与键盘完美同步旋转.两者之间没有空隙/间隙.

遗憾的是,我还没有想出如何将inputAccessoryView停靠在屏幕底部并且不会在键盘旁边消失/移出它...

我不想要的是hack-y解决方案,例如,"在toInterfaceOrientation的CoordinateSystem中稍微降低帧,然后在调用didRotateFrom ...时将其移回."

我知道另一个已经设法实现此类行为的应用程序,它是"Kik Messenger".

有没有人有想法,建议或链接,我还没有看到这个主题?

谢谢你!

注意:一旦这个问题得到解决,我将开放项目供所有人利用,因为几乎我在过去几天能够找到的所有实现都是一团糟.

uitextview uikeyboard ios

26
推荐指数
2
解决办法
1万
查看次数

如何在内部输入时调整UITextView的大小?

我正在创建一个评论部分,就像Facebook在iOS应用程序中使用它的消息部分一样.我希望UITextView调整高度,以便我输入的文本适合它,而不是你必须滚动才能看到溢出的文本.我有什么想法可以这样做吗?我调查了可能使用的CGRect是分配给文本视图的大小和高度,然后匹配内容大小:

CGRect textFrame = textView.frame;
textFrame.size.height = textView.contentSize.height;
textView.frame = textFrame;
Run Code Online (Sandbox Code Playgroud)

我假设我需要某种功能来检测文本何时到达边界UITextView然后调整视图的高度?有没有人在用同样的概念挣扎?

iphone uitextview ios cgrect

14
推荐指数
4
解决办法
1万
查看次数