【问题标题】:how do get two UITextView's in Interface Builder to align properly when going to landscape orientation?横向时如何让 Interface Builder 中的两个 UITextView 正确对齐?
【发布时间】:2011-07-30 22:03:16
【问题描述】:

如何让 Interface Builder 中的两个 UITextView 在横向对齐时正确对齐?

我有一个大致占据屏幕的上 1/4,另一个占据屏幕下方的剩余部分。肖像中的一切看起来都很好。

但在横向中,它们重叠/未正确对齐。我一直在尝试调整大小的蒙版,但似乎没有想出正确的组合。

如何让它们在方向更改期间保持正确对齐(在 iPad 中使用也很好)

编辑 1 - 应该澄清我实际上在这个屏幕上,从上到下:

  • 菜单栏(顶部)
  • 带有标题的 UITextView(粗体文本)
  • 带有详细信息文本的 UITextView

所以不确定这是否与答案有任何不同。要点是,即使我使用不同的自动调整大小设置,我似乎也无法得到它,因此在方向改变后,高 UITextView 的底部仍然与低 UITextView 的顶部整齐地对齐(即我似乎得到了重叠效果)

编辑 2 - 我在 UITextView 周围设置了边框,实际上它们在横向模式下没有重叠,而是顶部 UITextView(用于标题)的垂直宽度似乎缩小了,以至于它切断了第二条/底线的两行标题。

【问题讨论】:

  • 如果您在自动调整大小的用户界面中为两个文本视图都填写了每个箭头,除了顶部的底部和底部的顶部之外,会发生什么?
  • @Colin - 是的,已经尝试过了 - 在横向模式下发生的情况是底部视图比顶部视图的下部太高......

标签: iphone ios interface-builder uitextview


【解决方案1】:

要正确设置自动调整大小的蒙版,请问自己以下六个问题:

  1. 我是否希望我的视图的高度在其容器的高度发生变化时发生变化?如果是这样,请使用 IB 中的向上/向下箭头启用垂直弹簧。这相当于设置UIViewAutoresizingFlexibleHeight

  2. 当容器的高度发生变化时,我是否希望我的视图顶部与其容器顶部之间的距离发生变化?如果是这样,禁用 IB 中的top strut。这相当于设置UIViewAutoresizingFlexibleTopMargin

  3. 当容器的高度发生变化时,我是否希望我的视图底部与其容器底部之间的距离发生变化?如果是这样,请禁用 IB 中的底部支柱。这相当于设置UIViewAutoresizingFlexibleBottomMargin

  4. 我是否希望我的视图的 宽度 在其容器的宽度发生变化时发生变化?如果是这样,请使用 IB 中的左/右箭头启用水平弹簧。这相当于设置UIViewAutoresizingFlexibleWidth

  5. 当容器的宽度发生变化时,我是否希望视图的 left 与其容器的左侧之间的 distance 发生变化?如果是这样,禁用 IB 中的左支柱。这相当于设置UIViewAutoresizingFlexibleLeftMargin

  6. 当容器的宽度发生变化时,我是否希望视图的 右侧 与其容器右侧之间的 距离 发生变化?如果是这样,禁用 IB 中的右支柱。这相当于设置UIViewAutoresizingFlexibleRightMargin

【讨论】:

  • 谢谢你 - 不幸的是我已经关注了这个,但它似乎仍然没有解决我在横向时在子视图之间遇到的重叠问题......XCode中没有任何东西真正锁定了底部从一个视图到下一个视图的顶部,因此它们在方向更改后似乎整齐地堆叠在一起?我还将在我的帖子中澄清我实际上在顶部也有一个菜单栏......
  • 又一次尝试调整排列并设法得到它:)
【解决方案2】:

我遇到了这个问题,尝试直接在scrollView委托scrollViewDidRotate中重新调整textView的大小:

【讨论】:

  • scrollViewDidRotate 是哪个类的方法?即我如何使用与我正在使用的控制器视图 *.m 文件相关的内容?
猜你喜欢
  • 2010-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多