嵌套视图中的拥抱和压缩阻力

2024-03-30

我试图了解拥抱和抗压阻力是如何真正发挥作用的。

我有这样的场景,我需要左侧两个标签(绿色容器内)和右侧两个标签(蓝色容器内)。

如图所示,我希望绿色容器能够容纳内容(Android 的wrap content)和蓝色容器来填充剩余空间(Androidfill_parent).

我想我可以在绿色视图中添加拥抱/压缩优先级,例如:

greenView.setContentHuggingPriority(
    UILayoutPriorityDefaultHigh, forAxis: .Horizontal)
greenView.setContentCompressionResistancePriority(
    UILayoutPriorityDefaultHigh, forAxis: .Horizontal)

但似乎并没有达到预期的效果。我必须将这些约束应用到(红色和黄色)标签。

有人知道原因吗?

一些想法(已编辑):

从 Ken 的回答可以看出,您必须为标签而不是容器视图设置拥抱/压缩。

在此问题的示例中,我会为左侧的标签设置 750(高)的拥抱度和 1000(必需)的阻力。由于标签的默认拥抱值为 251(低+1),电阻为 750(高),因此左侧标签的拥抱和压缩会更大(750 > 251 和 1000 > 750)。同时,压缩将大于标签内的拥抱(1000 > 750)。

这样,左侧的标签将尝试拥抱其内容,但不会压缩它。例如,红色标签无法完全包裹其内容,因为黄色标签不想压缩。

Phew!


内容拥抱和压缩阻力优先级仅对视图的内在内容大小有意义。基本上,如果视图具有固有的内容宽度,则自动布局系统会将其视为受以下约束:

[view(<=intrinsicWidth@contentHuggingPriority)]
[view(>=intrinsicWidth@compressionResistancePriority)]

这就是所有这些意思。当然,这同样适用于固有高度。

A plain UIView用作容器没有固有尺寸。因此,其内容拥抱和抗压缩优先级是没有意义的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

嵌套视图中的拥抱和压缩阻力 的相关文章

  • 如何将数据从一个视图传递到下一个视图?

    我正在制作一个下载排队系统来下载视频 处理下载的排队代码位于另一个视图控制器中 现在我的问题是如何将下载的 URL 传递到另一个视图而不推送到另一个视图控制器 如下所示 ViewConntroller View ViewConntrolle
  • 如何在 swift 中以编程方式使用坐标打开地图应用程序?

    我想在地图应用程序中打开纬度和经度 我尝试了这段代码HERE https stackoverflow com questions 12504294 programmatically open maps app in ios 6 func g
  • 如何避免 NSNumberFormatter 中的四舍五入

    我试图拥有一个最大精度为 2 位小数的数字字符串 而其余小数只是被修剪掉而不是四舍五入 例如 I have 123456 9964 I want 123456 99 gt Just want to trim rest of the deci
  • IOS 上图像的加密/解密

    我们正在使用加密 解密和 UIIMAGE 如果我们加密和解密 UIIMAge 而不保存到 iphone 画廊中 它工作正常 但如果我们加密 保存到画廊中 将 加密的图像 加载到应用程序中 然后解密它效果不好 我们使用这个函数来加密 解密 保
  • iOS:我如何知道某个属性是否符合 KVO 标准?

    In the 键值观察编程指南 https developer apple com library archive documentation Cocoa Conceptual KeyValueObserving KeyValueObser
  • 调用了 numberOfRowsInSection 但未调用 cellForRowAtIndexPath

    在我的表视图中节中的行数被调用两次但是cellForRowAtIndexPath不叫 我想在 tableView 中显示 Facebook 好友列表 如果 cellForRowAtIndexPath 调用我的问题就解决了 我在这里的数组中得
  • 在iOS中设置框架的原点

    我正在尝试以编程方式设置框架的原点 Method1 button frame origin y 100 方法二 CGRect frame button frame frame origin y 100 我尝试了方法 1 但它不起作用 显示错
  • 防止点击 MKAnnotation 时检测到 MKMapView 上的触摸事件

    我有一个 UITapGestureRecognizer 当用户点击地图时 它将在我的 MKMap 上隐藏和显示工具栏 简单 但是 当用户点击 MKMapAnnotation 时 我不希望地图以正常方式响应点击 如上所述 此外 当用户点击地图
  • 奇怪的父/子NSManagedObjectContext现象

    我创建了两个这样的上下文 create writer MOC privateWriterContext NSManagedObjectContext alloc initWithConcurrencyType NSPrivateQueueC
  • skView.ignoreSiblingOrder 在 swift 中的重要性/效率?

    这样做有多重要 高效skView ignoreSiblingOrder true初始化场景时 现在 我将其设置为 true 但由于某种原因 当我从 MainMenu 场景启动 GameScene 时 它 会在我的角色之前加载背景 即使背景的
  • 如何在 NSDate 变量中仅设置时间?

    我有 NSDate 变量 只想更改时间 不应更改日期 是否可以 例如 用户在 DatePicker 日期中选择日期间隔 如果是开始日期 我想将时间设置为 00 00 00 如果是结束日期 我将时间设置为 23 59 59 感谢你的帮助 问候
  • Swift:无法为“[UIViewController]”类型的值添加下标?

    我试图弄清楚如何在 Xcode 7 iOS9 上的 Swift 中解决此问题 并且我也遇到此错误 无法为 UIViewController 类型的值添加下标 索引类型为 Int 任何建议表示赞赏 谢谢 My code func indexP
  • PhoneGap 1.4 封装 Sencha Touch 2.X - 性能怎么样?

    我正在构建一个多平台平板电脑应用程序 仅使用其 Webview 使用 Phonegap 1 4 对其进行包装 然后使用 Sencha Touch 2 框架发挥我的魔力 我所说的多平台是指 iOS 5 X 和 Android 3 0 目前 到
  • 将语音添加到自定义 UIMenuController

    我创建了一个自定义UIMenuController in a UIWebView但它似乎摆脱了 说出选择 选项UIMenuController在那之后 所有测试设备上的 偏好设置 中都打开了发言选择选项 并且它出现在其他应用程序中 包括非
  • 使用prepareForSegue传递数据

    我试图将数据从viewController 1传递到viewController2 我有2个按钮和1个segue 因此有一个segue标识符 这2个按钮 按下时每个按钮应显示 1个标签用于显示标题 1个textView用于显示定义 我很难显
  • 如何更改 UINavigationController 后退按钮名称?

    我有一个UIViewController我正在从第一个视图控制器导航到第二个视图控制器 我想更改显示在navigationcontroller为了回去 SecondViewController secondController Second
  • 在 JSQMessagesViewController 中显示 LocationMediaItem

    我刚刚尝试实施LocationMediaItem in my Xamarin iOS应用程序使用JSQMessagesViewController 一切都很顺利 唯一的问题是UICollectionView应该显示位置的单元格永远停留在加载
  • 快速钥匙串更新只有在第二次尝试时才起作用

    您好 我在更新存储在钥匙串中的登录信息方面遇到了 iOS 钥匙串的一个非常奇怪的问题 因此 如果没有保存的凭据 则正确运行保存函数会保存登录信息 如果登录信息已存在并且用户更新了密码 则更新功能仅正确更新密码 但是 如果登录信息存在并且我尝
  • 使用 nib 作为带有 nib 类的表节标题

    我想创建一个加载 nib 文件并将其设置为标题 UIView 的节标题 这个 nib 文件还将有一个关联的类 其中插座和操作连接到 因此我想像平常一样使用 nib 加载该类 我在网上搜索并找到了几个类似的答案 但我找不到任何适合我的答案 经
  • 选择 UITableViewCell 时 UIView 背景颜色消失

    我在界面生成器中构建了一个简单的 tableViewCell 它包含一个包含图像的 UIView 现在 当我选择单元格时 会显示默认的蓝色选择背景 但 UIView 的背景颜色消失了 我的 UITableViewCell 的实现文件没有做任

随机推荐

  • JSDoc 中的 Intellisense 不适用于 VSCode 中的导入类型

    当使用 ES2015 类作为 JSDoc 中的类型时 它在通过 require 语句导入该类的文件中似乎无法正常工作 在定义该类的同一文件中工作时 一切都按预期工作 如下所示 在不同的文件中工作时 该类似乎可以正确导入并显示其构造函数类型
  • DXF解析器:椭圆角度方向

    我编写了自己的 ASCII DXF 文件解析器 但在某些特定文档中遇到了省略号问题 似乎没有定义开始和结束参数的角度方向 顺时针或逆时针 的 组代码 在大多数情况下 它是逆时针的 但并非在所有情况下 为了简化起见 这里有一个直观的示例 如您
  • 单击 div 以外的正文时隐藏 div

    我想在单击除 div 之外的页面正文时隐藏所有 div 的隐藏 我的 div 是 div div class settingsBoxExpandItem style padding 3px My Account div div class
  • Scroll Bar 的滚动条不见了

    最近 在我的 Visual Studio 2012 版本中 我的滚动条在代码编辑器 文本编辑器 中丢失了 我需要将它们找回来 这不是工具 gt 选项 gt 文本编辑器 gt 显示垂直滚动条和水平滚动条复选框的问题 它们都被检查了 当它们没有
  • 将网页从 QtWebKit.webView 打印为 pdf PyQt4

    您好 我想要完成的是 我有一个带有自定义 QtWebKit QWebView 的 QWidget 它显示特定的网站 我想使用 python 和 PyQt 将该网页保存为 pdf from PyQt4 import QtCore QtGui
  • 什么是“ChromeWebToolbarDiv”?

    我使用 AJAX 发送请求 响应以 JSON 形式返回 我们的一些用户一直抱怨他们收到错误 这表明收到了无效的 JSON 我们在服务器上检查是否发送了有效的 JSON 进一步调试时 发现以下代码被附加到 JSON 中 导致 JSON 解析失
  • 在 Selenium 中设置用户数据/配置文件不起作用。硒蟒蛇

    由于某种原因 当我尝试设置用户数据 配置文件时 它不起作用 该代码运行良好 但一旦浏览器启动 我就无法登录到我的个人资料 我该如何解决这个问题 chrome options add argument user data dir Users
  • 如何忽略缩放设置

    IE忽略缩放设置不起作用 我的代码如下 为什么它不起作用 我收到错误消息 selenium common exceptions SessionNotCreatedException 消息 启动 Internet Explorer 时出现意外
  • 带有内部 select 子句和 group by 汇总的 sql order by

    我的查询如下所示 输出 电流输出 Role Cases prepped Completed State Member 1 10 5 50 State Member 2 10 7 70 State President 10 2 20 Summ
  • header/impl 关键字在 kotlin 中的含义是什么?

    就在不久前 当我探索 Kotlin github 存储库时 我发现了一些有趣的事情 Kotlin 现在似乎有一个 header 关键字 收藏H kt https github com JetBrains kotlin blob be95f6
  • string.Empty 与 "" - 这有变化吗?

    根据这个答案 https stackoverflow com a 2905422 386869 and string Empty略有不同 因为 创建一个对象 而string Empty才不是 该答案在该问题上得票最多 然而 这个答案 htt
  • 在实体框架的 where 子句中使用列表

    我正在尝试通过一对多表检索文档 ID 我想在 where 子句中使用列表来查找与列表中每个元素相关的所有 id List
  • Magento group by 日期字段上的子句

    我需要获取指定月份一天内 grand total 的订单总数 SUM MIN MAX 和 AVG 这就是我正在做的事情 collection gt getSelect gt columns SUM base grand total AS t
  • Kotlin - StateFlow 不向其收集器发出更新

    我的应用程序中有一个 UserStateModel 数据类 类型的 StateFlow private val userStateFlow MutableStateFlow
  • TextView 作为带有文本颜色操作的进度条?

    我正在努力改进我的应用程序的用户界面 在我使用的设计中 我有一个 TextView 它将在特定时间充当进度条 ruslt 应该看起来像这样 问题是 随着进度的变化 部分文本的颜色也会改变 我研究了android中的spannablestri
  • ASP.NET Web API 中是否有等效的@JsonView

    我在 Spring 和 Java 方面有更多的经验 但现在我正在从事 ASP NET Web API 项目 因此 在 Spring 中 我可以使用 JsonView 注释来注释我的 DTO 这样我就可以选择通过 REST 显示哪些数据 我发
  • 如何在 web.config 文件中存储字典对象?

    我想在我的网络配置文件中存储一个简单的键 值字符串字典 Visual Studio 可以轻松存储字符串集合 请参阅下面的示例 但我不确定如何使用字典集合来存储字符串集合
  • Cocoa-Touch:如何查看两个 NSDate 是否在同一天?

    我需要知道两个 NSDate 实例是否都来自同一天 有没有比获取 NSDateComponents 并比较日 月 年更简单 更好的方法 如果您的目标是iOS 8 和 OS X 10 9 或更高版本 then 乔的回答 https stack
  • libQt5XcbQpa.so.5:未定义的符号:FT_Property_Set

    当我尝试从 python 脚本运行 wkhtmltopdf 命令时出现此错误 usr bin wkhtmltopdf symbol lookup error usr lib x86 64 linux gnu libQt5XcbQpa so
  • 嵌套视图中的拥抱和压缩阻力

    我试图了解拥抱和抗压阻力是如何真正发挥作用的 我有这样的场景 我需要左侧两个标签 绿色容器内 和右侧两个标签 蓝色容器内 如图所示 我希望绿色容器能够容纳内容 Android 的wrap content 和蓝色容器来填充剩余空间 Andro