【问题标题】:UITableViewCell with custom control带有自定义控件的 UITableViewCell
【发布时间】:2016-05-17 00:24:34
【问题描述】:

我正在尝试创建派生的UITableViewCell

右侧(青色,200 宽,但将在未来运行时调整大小)包含我的评级控件。

左边是一个UIView(蓝色)填充剩余空间。它包含一个文本标签,它占据了这里的所有空间。 (将来我希望调整表格单元格的高度,以便它可以包含标签中的任何文本。)

但是,它完全无视我的指示。我已将评级控制设置为右边距为零。 UIView 的左边距为零。 UIView 右侧 = 评级控制左侧。

使用固定的评级控制宽度,它应该可以工作吗?但恰恰相反。这两件事都被推到了左边。 (就像带有文本标签的 uiview 可能是 20% 宽度和评级控制 20% 宽度 - 其余空白空间)

【问题讨论】:

  • 您的 UITableView 或 UITableViewCell 可能不是您期望的宽度。如果您将 UITableView 背景颜色设置为红色,并将 UITableViewCell 背景颜色设置为黄色,然后运行您的应用,您会看到未填充的红色或黄色空间吗?
  • 如果我按下它会改变整个屏幕的颜色。右边的细节/箭头也在最右边。我在表格视图中也有其他类型的单元格,它们都是彩色的。但我会尝试运行更多测试,也许会发布截图。
  • 请添加您在单元格中添加的所有约束的屏幕截图
  • 截图显示所有约束?不幸的是,xcode 不允许调整大小,所以可以看到它们的所有文本

标签: ios uitableview autolayout


【解决方案1】:

我无法阅读您的所有限制条件,但您的“分数视图”(我们称之为 A)和“评分视图”(我们称之为 B)必须有 SEVEN(我只能看到其中 6 个)应固定到其父视图的约束,即“内容视图”。

约束应该是

A.leading = superview.leading

A.top = superview.top

A.bottom = superview.bottom

A.trailing = B.leading

B.top = superview.top

B.bottom = superview.bottom

B.trailing = superview.trailing

【讨论】:

  • 我认为我在屏幕截图中已将“B.bottom = superview.bottom”和“B.top = superview.trailing”替换为“B.CenterX = superview.CenterX” - 但我正在尝试各种事情......如果有任何工作会报告(否则,我没有工作)
  • 我决定用左视图和右视图重做所有事情(在右视图中带有评级控制),因为一切都表现得很奇怪。 (也许 ide 中有一些剩余的不可见约束?) --- 但它现在可以工作了。从某种意义上说,你的回答帮助我知道我没有忘记一些东西:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多