【问题标题】:Position and size are ambiguous for "Image view"“图像视图”的位置和大小不明确
【发布时间】:2013-10-19 08:51:23
【问题描述】:

我正在尝试设置一个 UIImageView 在情节提要中没有固定的大小和宽度。我将容器的前导空间设置为大于或等于20,将容器的顶部空间设置为大于或等于20,将容器的尾随空间设置为大于或等于20,并将垂直间距设置为UICollectionView,UICollectionView满足约束。但是 UIImageView 不起作用,它告诉我它的位置和大小不明确。我怎样才能让它工作?我的想法是无论图像视图有多大,它始终保持 20 空间到前导、顶部、尾随和底部。

我已将高度和宽度设置为大于或等于某个值,并将它们的优先级设置为 999,它低于前导、顶部和尾随的优先级。我已将图像视图设置为水平居中。但我得到“图像视图”的高度和垂直位置不明确。

【问题讨论】:

  • 从代码中发布一些代码/日志怎么样?
  • 没有代码。请看图片。

标签: iphone objective-c autolayout uistoryboard


【解决方案1】:

你能看到当你向UIImageView 添加高度和宽度约束时会发生什么,但是将它们的优先级设置为一些较低的值,例如1?它应该有帮助,但现在UIImageView 不会居中。您可以通过将UIImageView 封闭在另一个视图中(空的UIView)并将其水平和垂直居中来修复它。

【讨论】:

  • 我已将高度和宽度设置为大于或等于某个值,并将它们的优先级设置为 999,它低于前导、顶部和尾随的优先级。我已将图像视图设置为水平居中。但我得到“图像视图”的高度和垂直位置不明确。
  • @yongho 保留您的约束,但添加新的宽度和高度约束(等于,不大于或等于),优先级等于 1。想想看:如果没有图像集(请阅读intrinsicContentSize)并且您所拥有的只是两个“大于或等于”约束,然后自动布局将不知道您想要什么边距,因为许多对都会满足约束。
  • 谢谢它的工作。虽然说垂直位置不明确,但线条最终都是蓝色的。
  • @yongho:我做了一个类似的布局,但我没有收到关于不明确垂直位置的警告。所以,我不确定为什么会这样。
【解决方案2】:

当您收到此错误时:

“视图”的位置和大小不明确

可能缺少以下约束/设置不正确:

  1. 宽度限制(尺寸问题)
  2. 高度限制(尺寸问题)
  3. 对齐约束(位置问题)

【讨论】:

    【解决方案3】:

    如果您使用堆栈视图,请确保照片图像视图位于堆栈视图内! (如 Apple 教程中所述)

    【讨论】:

    • 还有 UIStackView 见here
    • 就是这样,谢谢!我正在编写FoodTracker 教程,但未能将UIImageView 包含在Stack View 中。
    【解决方案4】:

    如果您想通过编码为按钮提供边距类型的东西,如果可行,请尝试这些

    [button_Name setTitleEdgeInsets:UIEdgeInsetsMake(0.0, 12.0, 0.0, 0.0)];
    

    我希望这会奏效..!!!

    【讨论】:

    • 我正在情节提要中尝试。我不想固定边距。
    • 将按钮作为 IBOutlet 属性而不是尝试它..!! :)
    【解决方案5】:

    如果高度/宽度在运行时不明确,但在情节提要时不明确,例如,动态设置图像、拥有容器视图等,我尝试添加约束并选中占位符复选标记以使 xcode 静音。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多