【问题标题】:TextFields are at the incorrect locations when using Push instead of Modal使用 Push 而不是 Modal 时,TextField 的位置不正确
【发布时间】:2013-12-08 20:53:19
【问题描述】:

我有一个简单的表格视图控制器,它在导航栏中有一个加号按钮。这在模态上导致用户可以将信息插入文本字段的地方。这些位于整个视图控制器中。

在从表格视图编辑单元格时,我使用“推送”转场而不是模式,因为这对于用户体验来说似乎更自然,而不是视图控制器的出现。我为“编辑”创建了一个新的视图控制器,在同一位置使用相同的文本字段。

当我使用 push segue 时,所有文本字段都远远低于它们应有的位置。我检查了 x,y 位置,它与要添加的模态视图完全相同。

当我使用 Modal 时,一切都在它应该在的地方。

我的表格视图嵌入在导航控制器中,所以我想当我推送到另一个视图时,它会在导航控制器中接受它。

请任何人解释一下为什么使用 push segue 会导致视图混乱,以及如何解决这个问题?

谢谢!

【问题讨论】:

  • 您是否使用自动布局来定位您的视图?
  • 对不起,我应该提到 - 添加和编辑视图控制器都使用自动布局
  • 那么你的约束有问题。您对要推送到的控制器中的标签有什么限制?
  • 我会看看,但老实说,我只是将自动布局保留为默认值 - 创建与添加条目相同的方式
  • 你应该添加你想要的,而不是把它留给系统。

标签: ios uitableview autolayout segue


【解决方案1】:

在进行推送时,您的控制器是否使用屏幕的整个高度?

可能是导航栏和状态栏导致它们不合适,而在模态中,如果不隐藏,您将只有状态栏

【讨论】:

  • 这很有趣 - 感谢 Darren 的回复。我没有使用全屏,在我的模态视图上,我有一个导航栏,因为有一些栏按钮项目等。我已经把导航栏也放在了这个推送视图上......并且还删除了它(使用来自导航控制器的栏),但两次都得到相同的结果
  • 明白,只是认为这可能是由于iOS7新的全屏行为导致的问题
  • 谢谢 Darren - 不过很好 - 我将使用它一段时间,也许会再次创建它,看看是否能解决它 - 很奇怪!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-27
  • 1970-01-01
  • 2020-12-07
相关资源
最近更新 更多