【问题标题】:How do I get a textView to expand when screen is rotated from portrait to landscape in iOS当屏幕在 iOS 中从纵向旋转到横向时,如何让 textView 展开
【发布时间】:2013-11-09 13:49:18
【问题描述】:

我正在使用 Interface Builder 创建这个 UI:

当它处于纵向时,一个和两个 TextView 会填充屏幕的宽度(这是我想要的),但是当我将其旋转到横向模式时,TextView 不会占据屏幕的整个宽度。

如何在横向模式下让 TextViews 填充屏幕的宽度?在 Interface Builder 中,“自动布局”选项被选中,如果可能的话,我想在仍然选中它的情况下完成此操作,因为其他一切都最好使用它。任何建议都将不胜感激,因为我对 iOS 编程还很陌生。

现在屏幕截图发布在下面。例如,如果您注意到文本框 One 在纵向视图中一直到边缘,但在横向视图中却没有。

【问题讨论】:

  • 你有没有给 UITextView 添加任何约束?使用 AutoLayout 意味着您需要添加定义视图与其兄弟/父视图之间关系的约束。尝试选择视图并在编辑器菜单中选择 Pin > Trailing (&leading) views to superview。
  • 是的,我尝试添加约束并尝试使用不同的值,但没有达到我想要的效果。
  • 根据我的经验,使用 IB 进行自动布局非常麻烦。有时删除所有约束并重新创建它们似乎可以解决奇怪的行为。

标签: ios iphone uitextview screen-orientation


【解决方案1】:

如果您不想使用 AutoLayout,可以使用以下步骤。

1) 在您的 XIB 中取消选中 autoLayout 复选框。

2) 选择您的 TextField 并按如下方式设置 autoResizeConstraints。

Tyr 这个......它会帮助你......

【讨论】:

  • 这是正确的答案,非常感谢这完美!
【解决方案2】:

您可以在方法中更改为横向时以编程方式更改 textView 大小 -(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

【讨论】:

    【解决方案3】:

    选择你的 UITextView 并按下“Pin”按钮。

    单击左右约束,使它们从点状浅红色变为红色。 输入您与超级视图的所需距离。在我的示例中,5 像素。

    请记住,这两个约束不足以定义 UITextView 的位置。 为此,您必须:

    • 将视图固定到顶部或底部并提供高度 约束。

    • 将视图固定在顶部或底部

    • 在容器中垂直居中视图

    • 将视图与其他具有可解析 Y 的子视图对齐 位置

    【讨论】:

    • 这似乎对我不起作用,我仍然无法让 UITextView 在旋转到横向时展开
    • 我对你的问题投了赞成票,让你有足够的声望来发布截图。发布它们,让我们看看可以做什么:)
    • 很抱歉回复晚了,但感谢您给我投票,我现在将添加图片。
    猜你喜欢
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 2022-07-07
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多