【问题标题】:Need some contrains, but seem unable ro configure it in xcode interface builder?需要一些约束,但似乎无法在 xcode 界面生成器中配置它?
【发布时间】:2016-01-30 16:08:13
【问题描述】:

我有两个垂直放置的控件

我有一个 UIImageView 顶部。我可以在运行时调整它的高度以更好地保持图像在里面(这是我自己调整大小的代码) - 在下面我有一个应该填充高度的 UITableView。

我已将 UIImageView 约束设置为 left:0 (superview)、top:0 (superview)、right:0 (superview) - 我没有设置底部约束,因为没有。它可以是任何需要的。

不过,UITableView 存在一些问题...

当我尝试为 UITableView 添加约束(与最近邻的间距)并选择顶部时,它会强制输入 UIimageView 的高度(此处为 107 像素,但该高度在运行时会发生变化,因此不应使用该高度)。这似乎是错误的。我希望间距为 0 到最近的邻居,而不是距离顶部 107,所以在这里我已经无法设置一个有意义的约束

我是否遗漏了一些明显的东西?我是 ios/xcode 新手,所以很有可能

无论如何,目前我收到了这些警告:

outlet tableview 的框架在运行时会有所不同

插座主标志的高度不明确

如果无法定义我想要的对齐/约束/填充,我想我可以简单地运行它吗?计算应该很简单吧?但我还是想摆脱警告。

更新

【问题讨论】:

    标签: ios xcode interface-builder


    【解决方案1】:

    为您的 imageView 提供高度限制。对于 tableView,使用适当的常量为 imageView 提供垂直间距(如果您不希望它们之间有任何间距,则为 0)。并为您的 tableView 以及 left 和 right 提供 bottom:0 (superview)。那应该摆脱那些警告。现在您可以在运行时更改 imageView 的高度约束的constant 属性,并且 tableView 高度将自动更改。要在运行时更改约束,请为该特定约束创建 IBOutlet 并更改约束的常量属性。

    编辑

    【讨论】:

    • 像这样?:uiimageview top=0 left=0 right=0 heightconstraint
    • (谢谢!)但是为什么我会这样:“uiimageview topconstraint=0 leftconstraint=0 rightconstraint=0 heightconstraint=200 height=200 ----- uitableview leftconstraint=0 rightconstraint=0botttomconstraint= 0 height=400 ----- 垂直空间约束 wth first-item = uitableview.top 关系=equal uiimageview.bottom” ----- 出现错误“uitableview 的框架将不同于运行时”和“框架uiimageview 在运行时会有所不同”?我认为在上述约束下,界面构建器应该没有设计时警告吗? :)
    • 我已经添加了屏幕截图,它似乎对我来说很好用。您能否验证您添加的约束是否相同?
    • 现在添加截图
    猜你喜欢
    • 2018-12-12
    • 1970-01-01
    • 2015-08-01
    • 1970-01-01
    • 2011-08-14
    • 2020-03-21
    • 2018-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多