UIPopOver,UITextView和自动调整大小

时间:2012-03-22 20:01:57

标签: ios resize uitextview uipopover

我有一个应用程序,我允许用户将事件添加到列表中。我用来执行此操作的方法是通过我在UIPopOver显示用户的表单。

表单包含以下组件(按此顺序,从上到下):

  1. 事件描述标签(UILabel)
  2. 事件描述(UITextField)
  3. 活动详情标签(UILabel)
  4. 活动详情(UITextView)
  5. 活动时间标签(UILabel)
  6. 活动时间(UIDatePicker)
  7. 保存事件(自定义按钮)
  8. 取消(自定义按钮)
  9. 我不想显示屏幕截图,因为它是一个敏感的应用程序。 : - )

    所以........

    当我第一次展示UIPopOver时,一切都很顺利。一切都按我的意愿出现。整体布局大约有650像素高,在横向模式下,它的高度足以占据整个屏幕(垂直方向)。

    • 当用户尝试与`UIDatePicker'进行交互时,一切都顺利进行(好)。
    • 当用户点击事件描述(`UITextField`)字段时,键盘出现并且'UIPopOver'缩小,因此基本上隐藏了`UIDatePicker`和按钮。我认为这很好,因为当键盘被解除时它们会重新出现。
    • 我遇到的问题是当用户尝试与`UITextView`进行交互时:
      1. 当`UIPopOver`的视图将其`backgroundColor`属性设置为`[UIColor whiteColor]`时,`UITextView`最初显示为带有黑色细边框。我喜欢这个。
      2. 当用户点击“UITextView”开始编辑时,“UIPopOver”调整大小以适应键盘,在过渡期间,黑色边框“收缩”并消失。尽管我设置了冲击和支柱,所以所有尺寸/方向都是固定的,并且它“粘在”左上角。
      3. 在此之后,当用户关闭键盘时,边框类别会将自身恢复到之前的位置,但现在它在底部添加了一个粗黑色边框,完全遮盖了`UITextView`和`UIDatePicker之间的标签。 `。
      4. 当我将`UIPopOver`视图的背景更改为“ScrollView`纹理背景颜色”时,边框“消失技巧”至少不太明显,但底部的黑色边框(键盘解除后)仍然存在。

    问题

    1. 以前有人遇到过这样的事吗?
    2. 有人认为这只是一个IB错误而且我需要重建我的XIB吗?
    3. 有人有任何其他想法吗?谷歌搜索这个问题对我来说相当空洞。如果你想到更好的术语并找到一些东西,请(温和地)告诉我。

1 个答案:

答案 0 :(得分:1)

男孩,我是一个愚蠢的傻瓜!事实证明我忘了我将UITextView放在UIView内(所有边都插入1个像素)并将UIView的背景设置为黑色以便我可以获得对UITextView的边框效应。一旦我记住了这一点,设置那个 UIView的冲击/支柱就成了解决方案。

抱歉浪费你的时间!