在静态UITableViewCell的contentView中使用UITextField进行模糊布局

时间:2013-09-30 23:52:43

标签: ios uitableview autolayout xcode5 xcode-storyboard

我正在尝试将UITextField添加到某些静态UITableViewCells的contentViews中。如果我只是将它们直接添加到故事板中的单元格,我会在Xcode 5中收到以下几个警告:

Ambiguous Layout: Position is ambiguous for "Round Style Text Field".

如果我然后选择UITextFields并在故事板中选择“添加缺失约束”,那么我会收到此警告:

Misplaced View: Frame for "Round Style Text Field" will be different at run time.

此外,我尝试手动在UITextField和contentView之间添加约束(通过选择这两个视图并尝试添加约束),但似乎没有任何约束选项可用于该特定关系(复选框全部被禁用)

以下是故事板的一些截图: Static UITableViewCells with UITextFields in their contentView

Static UITableViewCells with UITextFields in their contentView, Added Missing Constraints

2 个答案:

答案 0 :(得分:6)

在故事板左侧的视图控制器面板中,将出现一个带箭头箭头的黄色圆圈,单击它。

然后在新面板中单击中间带圆圈的黄色三角形。

您应该有三种选择:

  1. 更新框架 - 这将移动UI元素以匹配橙色虚线框
  2. 更新约束 - 这将更新约束以匹配当前UI元素
  3. 重置为建议的约束 - Xcode将执行它认为正确的
  4. 在您的情况下,更新约束应该起作用

答案 1 :(得分:1)

我遇到了类似的问题 - 无法向嵌入式UITextField添加(“Pin”)约束,收到有关它的警告等等.OP没有指定,但是从屏幕截图看,静态UITableViewCell的样式设置为其中一种预定义类型(特别是“左侧细节”)。

我发现将表格视图单元格“样式”下拉菜单设置为“自定义”将神奇地允许向UITextField添加约束,代价是必须自己重新构建预定义的单元格样式 - 例如添加UILabel并将其对齐与其他单元格匹配。