- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
喜欢this question ,我有一个 NSView,它是 NSWindow 的 contentView,它包含几个垂直堆叠的 subview 。其中一些是固定大小,一些可以通过公开按钮展开或折叠。
我想实现一种“ Accordion ”效果,其中展开或折叠一个 subview 会使其他所有内容相应地调整并调整 super View 和窗口的大小。
看起来确实应该能够通过使用自动布局设置正确的一组约束来实现这一目标,而且我现在可以很好地完成初始布局。但我不知道如何设置约束,以便 super View 自动调整大小以容纳 subview 。
上面链接的问题中的OP从未得到答案,并提供了他自己的解决方案,就像我开始独立实现的解决方案一样,但我想我会再次将其扔在那里,以防有任何自动布局专家知道一招。似乎应该有一种方法可以通过利用自动布局让 super View 拥抱 subview ,而不必手动计算 subview 的大小并手动重置 super View 的大小。
有人知道怎么做吗?
最佳答案
自动布局很酷而且很全面。而且神秘。
我努力尝试,但无法想出一套可以实现我想做的事情的约束。在我看来,如果你在一个 super View 中垂直堆叠一些 NSView 并设置约束,使得顶部 subview 固定到 super View 的顶部,并沿着 subview 堆栈向下移动,你将每个 subview 的顶部固定到 subview 的底部边缘上面的,然后最后将最后一个 subview 的底部边缘固定到 super View 的底部边缘,然后以编程方式调整一个或多个 subview 的大小,它应该能够在 super View 的底部上拉或下推让它紧贴其 subview 。
除了最后一 block 之外,一切都按预期进行。当您尝试将底部 subview 固定到 super View 的底部时,自动布局无法满足所有约束。似乎调整 super View 的大小以满足约束并不在算法中。或者是我缺少一些其他需要设置的约束。
当我讨论这个主题时,查看调试器,似乎窗口的 contentView 和窗口框架之间存在不可设置的约束。我有点想知道如果能够打破这些限制是否能让原来的方案发挥作用。
不管怎样,我确实想出了一个使用自动布局的解决方案,它与我希望自动布局所做的非常接近,因为所需要的只是子类化 NSView 并将几行代码放入内在大小方法中,然后使用 super View 的子类。我创建了一个 xcode 项目,其中包含我的可折叠 View 基类以及 github 上整个事情的工作演示。 。
关于cocoa - 我怎样才能得到窗口的contentView到 "hug"它的 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10415521/
找了好久,继续问: https://gitter.im/timothycrosley/hug我找不到解决方案。 我正在寻找的是一种返回自定义 http 代码的方法,比如说 204,以防在 get 端点
我正在用 haskell 编写一个小型的 lisp 解释器。在此过程中,我定义了此数据类型,以获得较少键入的数字。 data Number = _Int Integer | _
是否可以为 python 更改 HUG 上的端口号?我有以下我正在尝试做的示例。API 默认为端口 8000,但我希望能够手动设置它。 @hug.post() def receive_json(req
我有两个不同的 div,一个向左浮动,一个向右浮动。它们比整个页面小得多(每个大约 400x200),因此两者相距甚远,紧贴着页面的边缘。我怎样才能让他们在中心彼此相邻?我尝试分别将边距设置为自动和大
喜欢this question ,我有一个 NSView,它是 NSWindow 的 contentView,它包含几个垂直堆叠的 subview 。其中一些是固定大小,一些可以通过公开按钮展开或折叠
我正在开发一个基本的 Hug API,我的一个函数需要一个文件。 Hug有上传文件的方法吗? 最佳答案 这个例子就是你要找的:https://github.com/timothycrosley/hug
这个问题在这里已经有了答案: How can I make a div not larger than its contents? (43 个回答) Shrink-to-fit div and pa
在注释为 hug api 调用的函数中,如何获取该调用的 header ? 最佳答案 简单、正常和最快的方法:Hug 提供 request 和 body (POST),如果它们作为参数存在 (http
下面是 Haskell 中的多态数据类型,由 Hugs 解释。我正在尝试创建 Show for Equality 的实例。 实例声明表示,如果 Show 中存在类型“a”,则 Show 中等于 a。它
我对 Python 还很陌生。我正在使用 Hug 构建一个简单的 API。我正在尝试使用装饰器来处理所有未处理的异常,如下面的代码所示。但看来我没有在装饰器中正确传递 Hug 所需的输入。 auth.
本题指的是这个jsFiddle中所示的情况. 如您所见,当前包含 svg 元素(白色背景)比它需要的宽度大约 70px。我可以使用 no JS 让这个 div 使其内容“收缩以适合”吗? 编辑:为了清
假设我有一个绝对定位在屏幕底部的 View 。该 View 包含一个文本输入。当文本输入获得焦点时,我希望 View 的底部触及键盘的顶部。 我一直在摆弄 KeyboardAvoidingView,但
我想从我的笔记本电脑中删除 tensorflow 和拥抱面部模型。 我确实找到了一个链接 https://github.com/huggingface/transformers/issues/861
我正在尝试使用 Hugging Face 'Transformers' 库提供的不同转换器架构对自定义数据(采用 csv 格式)进行二进制文本分类。我正在使用这个 Tensorflow blog po
我正在尝试使用 Hugging Face Transformers 库对法语进行 POS_TAG。在英语中,我能够给出一个句子,例如: The weather is really great. So
这个问题在这里已经有了答案: How to remove margin space around body or clear default css styles (7 个答案) 关闭 8 年前。
我有一个用 设置的 api import hug API = hug.API(__name__).http.base_url='/api' @hug.get('/hello-world', versi
看问题:通常,在交互式 Haskell 环境中,非拉丁 Unicode 字符(构成结果的一部分)被转义打印,即使语言环境允许此类字符(与通过 putStrLn 直接输出相反, putChar 看起来不
我在有关 Cocoa Autolayout 的 Apple 文档中找不到有关内容拥抱和压缩阻力之间差异的明确答案。 有人可以解释一下它们的用法和区别吗? 最佳答案 概念快速总结: 拥抱 => 内容不想
我试图在拥抱面部情绪分析预训练模型的帮助下获得评论的情绪。它返回类似 Token indices sequence length is longer than the specified maximu
我是一名优秀的程序员,十分优秀!