2014-05-20 72 views
0

UIViewController包含UITableView(总是在顶部,相同的宽度与上海华)和UITextView(总是根据UITableView 10.0f),如下:自动布局与UITableView的

enter image description here

现在我想在键盘出现时使用自动布局来提高UITextView。我为UITableView添加以下约束(粘在上面,并且总是在UITextView 10.0f的顶部):

  • UITableView:宽度(320),高度(706),左,右,上,下( 10.0f)
  • UITextView:宽度(280),高度(44),左,右

enter image description here

我分配IBOutletUITableView's高度约束,并修改其在码值。例如,当键盘出现时,UITableView的高度将减少-216.0f(键盘的高度),因此,UITextView将在键盘顶部抬起(因为UITextView总是在UITableView 10.0f)。

所以,这就是我的预期。但是,对于唯一的第一步,在运行应用程序时,UITableView占用了整个屏幕,而我没有看到我的UITextView。我的约束有什么问题吗?

回答

0

键盘的默认行为是覆盖屏幕,自动布局无法解决它,因为它不是你的布局原本的一部分,我写了一个类别,将为您提供这个功能here,只是#import它到你的viewController和它应该只是工作

+0

虽然如果你想要你的桌面打击当键盘显示,这种解决方案不会为你工作,这只是整个屏幕上移 – Fonix

+0

不要打扰键盘的行为。问题出在我上面的约束上,当UIViewController第一次出现时,我看不到我的UITextView。 – chipbk10

+0

哦,我看,你的viewcontroller看起来很长,出于某种原因,你有你的tableViews高度设置为706,但最长和iPhone屏幕可以是568(480为3.5“设备)我认为你需要调整你的viewController在故事板 – Fonix